crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Загадочная кодировка, нужна помощь в определении.
Litkevich Yuriy
  опции профиля:
сообщение 1.1.2011, 15:19
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9648
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


В общем мучаю я интерфейс к 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
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9648
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


блин, победил.
Был код:
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
Сообщение #3


фрилансер
******

Группа: Участник
Сообщений: 2839
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 211 раз(а)




Репутация:   34  


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

Ответить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.10.2018, 8:29