Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Трёп _ Загадочная кодировка, нужна помощь в определении.

Автор: Litkevich Yuriy 1.1.2011, 15:19

В общем мучаю я интерфейс к P-CAD-у. Научился читать из него разные данные. Но вот если данные на русском, то получаю странную писанину.

В Википедии и в разных перекодировщиках не удалось подобрать кодировку.

Исходный текст:
Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.

P-CAD возвращает:
Oe?ieay yeaeo?eoeeaoey ??iuo aoaa?iee aano iiuiue oie?ie iiau?io naeuneiai oicyenoaa.
(этот текст в текстовом файле, который распознаётся текстовыми редакторами как ANSI)

Какое преобразование нужно выполнить, чтобы получить нормальный текст?

П.С.
пробовал и программку из комплекта Qt - examples\tools\codecs, но и в ней не нашёл читаемого текста.

Автор: Litkevich Yuriy 1.1.2011, 16:47

блин, победил.
Был код:

QTextStream     out(stderr);
out << "Design title:" << design.title() << endl;
где design.title() возвращает const char*.
Печаталось в файл (за счёт перенаправления вывода в консоли):
Oe?ieay yeaeo?eoeeaoey ??iuo aoaa?iee aano iiuiue oie?ie iiau?io naeuneiai oicyenoaa.
Это соответствует кодам в файле:
3F 56 4F ...

Затем посмотрел какие коды хранятся в самой строке (в программе). А там:
D8 E8 F0 ...
Что соответствует исходному тексту в кодировке Windows-1251, тогда сделал так:
out << "Design title:" << QString::fromLocal8Bit(design.title()) << endl;

И всё стало в шоколаде.

Правда причины такого вывода в файл так и не понял. Почему поток вывода ещё какие-то преобразования осуществляет.

Автор: Алексей1153 1.1.2011, 19:46

QString::fromLocal8Bit - а я так преобразовываю русские буквы из статитеского текста в коде, чтобы они были читабельные. Кодировка документов у меня - ANSI

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)