Название: Как узнать исходную кодировку? Отправлено: Igors от Апрель 22, 2017, 13:48 Добрый день
В старых текстах нативных ресурсов встречаются такие бяки 0xC6 - значок "дельта" 0xB1 - значок "плюс минус" 0xAA - значок "trademark" Теперь когда я создаю QString из исходной сишной строки (utf-8) эти символы не опознаются (все печатаются вопросиком). Как мне их перевести в юникод? Спасибо Название: Re: Как узнать исходную кодировку? Отправлено: kambala от Апрель 22, 2017, 15:31 - нагуглить какая была системная кодировка в то время (явно что-то типа кодовой страницы)
- найти онлайн сервис, распознающий кодировки или там вообще произвольные кодировки могут быть? Название: Re: Как узнать исходную кодировку? Отправлено: Day от Апрель 23, 2017, 08:40 Может быть это поможет?
http://apikabu.ru/img_n/2012-09_2/m38.png Название: Re: Как узнать исходную кодировку? Отправлено: Igors от Апрель 23, 2017, 09:16 Может быть это поможет? Свою не увидел, но все равно спасибо за участиеhttp://apikabu.ru/img_n/2012-09_2/m38.png - нагуглить какая была системная кодировка в то время (явно что-то типа кодовой страницы) Т.е. "метод втыка". Так и сделал, примерно через час обнаружил что подходит "MacRoman" (она же "Apple Roman")- найти онлайн сервис, распознающий кодировки или там вообще произвольные кодировки могут быть? Да, именно. Формат данных ресурсов не обязывает к какой-то определенной кодировке, просто строки байт-символ и все. В apple доке мелькает, мол, "рекомендуется в UTF-8", ну свои ресурсы я так и писал. Теперь на чтении надо как-то учесть что могут быть "те и эти". Сделал так- беру QTextCodec для UTF-8 и конвертирую в юникод и обратно, если совпало с оригиналом - все гуд - иначе делаем то же самое для кодека MacRoman - если и это не прошло - возвращаем fromLocal8Bits (нехай сам разбирается) Обратил внимание что есть метод QTextCodec::canEncode, но у меня он почему-то возвращает true с UTF-8 ??? Верно ли я действую? |