Заблокирован
1

Декодирование txt файла

20.11.2014, 15:41. Показов 3145. Ответов 35
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть txt файл в котором вся информация написана v hex то есть закодирована queted printable кодом.и надо эту информацию прочитать .уже облазил весь интернет но ничего толком не нашел .Помогите пожалуйста ))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2014, 15:41
Ответы с готовыми решениями:

В папке К2 создайте файл t3.txt, в который перепишите вначале текст из файла t1.txt, а затем из t2.txt
Программным путем: 1. В папке С:\temp создайте папки К1 и К2. 2. В папке К1: a) создайте файл...

Кодирование и декодирование двоичного файла
Кодирование и декодирование двоичного файла путем сложения каждого байта по модулю два с заданным...

Переписать данные файла input.txt в output.txt, отсортировав их
Прошу помочь с заданием. В файле input.xtx содержатся сведения о группе студентов в формате:...

Переписать данные файла input.txt в output.txt, отсортировав их
Прошу помочь с заданием. В файле input.xtx содержатся сведения о группе студентов в формате:...

35
Заблокирован
20.11.2014, 15:46 2
Цитата Сообщение от cr0n Посмотреть сообщение
закодирована queted printable
А что имеется ввиду под этой хитрой фразой?
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
20.11.2014, 15:46 3
Нет стандартных средств, надо вручную разбирать.
0
Заблокирован
20.11.2014, 16:04  [ТС] 4
Добавлено через 39 секунд
Цитата Сообщение от -THE_MASTER666- Посмотреть сообщение
А что имеется ввиду под этой хитрой фразой?
когда например буква или символ записан так =и два hex числа
пример :
латышская буква "ā" пишется как =E2

Добавлено через 1 минуту
Цитата Сообщение от nmcf Посмотреть сообщение
Нет стандартных средств, надо вручную разбирать.
А с чего начать можно ?
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
20.11.2014, 16:16 5
С чтения строки. Потом идёшь по ней посимвольно, встречаешь '=', значит следующие два символа - код и т. д.
0
Заблокирован
20.11.2014, 16:22  [ТС] 6
и как сделать чтоб он распознал что это за символ?нужно делать какой та список ?
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
20.11.2014, 16:25 7
Ну это же шестнадцатеричный код. Просто преобразуешь его из подстроки в число, помещаешь в char.
0
Заблокирован
20.11.2014, 16:31  [ТС] 8
Цитата Сообщение от nmcf Посмотреть сообщение
Ну это же шестнадцатеричный код. Просто преобразуешь его из подстроки в число, помещаешь в char.
Можете помочь с написанием кода до этого момента ?а то мои знания в С++ не очень велики
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
20.11.2014, 17:00 9
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    int n, i = 0;
    char s[100];
    char rs[100];
    std::istringstream ss;
 
    std::ifstream ifs("d:\\data.txt");
 
    while (!ifs.eof())
    {
        ifs.getline(s, 100);
        ss.str(s);
        ss.clear();
        while (true)
        {
            char c = ss.get();
            if (ss.eof()) break;
            if (c == '=')
            {
                ss.peek();
                if (ss.eof()) break;
                ss >> std::hex >> n;
                rs[i++] = n;
            }
            else rs[i++] = c;
        }
    }
Допиливай.
0
Заблокирован
20.11.2014, 18:10  [ТС] 10
Можете немного код объяснить а то C++ builder компилятор ругается
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
20.11.2014, 18:27 11
Снова этот Builder. Ты код в main() вставил? Модули подключил?
C++
1
2
3
#include <sstream>
#include <cstdlib>
#include <iostream>
Данные читаются из файла. Замени на свой. Результат в rs.
0
Заблокирован
20.11.2014, 19:18  [ТС] 12
да подключил кидает вот errori насчёт stl::ifstream
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
20.11.2014, 20:54 13
C++
1
#include <fstream>
0
Заблокирован
20.11.2014, 21:12  [ТС] 14
да уже и это успел подправить все равно не компилирует даже уже VisualStudio скачал и установил
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
20.11.2014, 22:17 15
Всю программу покажи и в какой строке ошибка.
А файл свой подставил? Какое в нём содержимое? Я несколько последовательностей брал наугад. Может стандарт не на 100% реализован. Возьми пробный короткий файл для начала.
0
Заблокирован
20.11.2014, 23:12  [ТС] 16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
#include <fstream.h>
#include <cstdlib.h>
#include <iostream.h>
 
int main()
{
int n, i = 0;
    char s[100];
    char rs[100];
    std::istringstream ss;
 
    std::ifstream ifs("D:\\file.txt");
 
    while (!ifs.eof())
    {
        ifs.getline(s, 100);
        ss.str(s);
        ss.clear();
        while (true)
        {
            char c = ss.get();
            if (ss.eof()) break;
            if (c == '=')
            {
                ss.peek();
                if (ss.eof()) break;
                ss >> std::hex >> n;
                rs[i++] = n;
            }
            else rs[i++] = c;
        }
    }
}
сам файл который был дан преподам
ошибки
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
21.11.2014, 00:02 17
Во-первых путь и имя надо сделать в соответствии с тем, как у тебя файл хранится. Во-вторых надо учесть, что программа всего на 100 символов рассчитана - пример декодирования. У тебя файл огромный, надо куда-то информацию сохранять или ограничить количество считываемых данных.
0
Заблокирован
21.11.2014, 00:09  [ТС] 18
Цитата Сообщение от nmcf Посмотреть сообщение
Во-первых путь и имя надо сделать в соответствии с тем, как у тебя файл хранится. Во-вторых надо учесть, что программа всего на 100 символов рассчитана - пример декодирования. У тебя файл огромный, надо куда-то информацию сохранять или ограничить количество считываемых данных.
путь к файлу я указал там где он и находится.
а можно этот файл открыть сразу в бинарном виде а потом как то с бинарного уже на человеческий ?
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
21.11.2014, 00:38 19
Цитата Сообщение от cr0n Посмотреть сообщение
закодирована queted printable
Программа Штирлиц расшифровывает русские тексты, написанные в различных русских кодировках (Win-1251, KOI-8r, DOS, ISO-8859-5, MAC и др.), в транслитерации, в форматах Quoted Printable, UTF-7, UTF-8, RTF, HTML, закодированные с помощью uuencode, xxencode, base64, binhex, BtoA тексты и файлы, а также тексты, подвергнувшиеся смешанному перекодированию и, в частности, имеющих фрагменты в различных кодировках. Штирлиц способен привести такие тексты к кодировке Windows (1251) для их прочтения и для дальнейшей работы с ними (сохранение, печать, исправления и пр.), а также произвести обратные преобразования. Кодировки и схемы транслитерации можно добавлять и корректировать.

Механизм распознавания кодировки может запускаться автоматически при вставке текста из буфера обмена и при загрузке файла.

Штирлиц. Версия 4.01. Copyright 2001, Всеволод Лукьянин

Данная программа является свободно распространяемым продуктом с рекламной нагрузкой (AdWare).
Сайт давно пропал, поэтому выложу здесь.
Вложения
Тип файла: 7z Shtirlitz.7z (247.7 Кб, 4 просмотров)
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
21.11.2014, 09:26 20
Вот преобразование первых 10000 символов. Только это не читается. Какой там язык и какая кодировка?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
int main()
{
    int n, i = 0;
    char s[100];
    char rs[10000];
    std::istringstream ss;
 
    std::ifstream ifs("d:\\file.txt");
 
    while (!ifs.eof() && i < 10000)
    {
        ifs.getline(s, 100);
        ss.str(s);
        ss.clear();
        while (true)
        {
            char c = ss.get();
            if (ss.eof()) break;
            if (c == '=')
            {
                ss.peek();
                if (ss.eof()) break;
                ss >> std::hex >> n;
                rs[i++] = n;
            }
            else rs[i++] = c;
            if (i == 10000) break;
        }
    }
 
    std::ofstream ofs("d:\\file_r.txt", std::ofstream::binary);
    ofs.write(rs, i);
 
 
    system("pause");
    return 0;
}
0
21.11.2014, 09:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2014, 09:26
Помогаю со студенческими работами здесь

Отсортировать N-ую строку файла fin.txt по возрастанию длин слов в строке и записать ее в fout.txt
не могу понять c++ , поможет кто разобраться? на паскале всё получается, а сейчас решил C++ изучить...

Считать 10 целых чисел с файла 1.txt и записать в файл 2.txt максимальный элемент и его индекс
нужно считать 10 целых чисел с файла 1.txt и записать в файл 2.txt максимальный элемент и его...

Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример...

Исправить программу, чтоб считывала текст из файла Input.txt и выводит в файл Output.txt
Даны координаты центра и радиус R окружности, координаты точки. Найти точки пересечения касательных...

Списки: из файла input.txt удалить отрицательные числа и вывести в файл output.txt в том же порядке
В текстовом файле input.txt дана последовательность целых чисел заканчивающаяся числом 0 (0 –...

отладить программу на языке С++, которая считывает из файла a.txt строку и записывает её в файл b.txt в обратном порядке
я это взяла из книги полностью готовый код, а он не идёт.Помогите отладить, пожалуйста #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru