Название: QChar to ascii Отправлено: berik.kz от Октябрь 05, 2009, 15:01 В общем вопрос покажется некоторым элементарным.
Почему при считывании с файла in.txt(µbЁ),переменная ch типа QChar выводит на экран все символы,а при конвертации в ascii код на экран выводит неопределенный(?) символ или присваивает значение 0? Код: QFile in; Output: 'µ' 181 'b' 98 'Ё' 0 <- Почему? ??? Хотя Ё = 168 в Ascii Название: Re: QChar to ascii Отправлено: spirit от Октябрь 05, 2009, 15:13 используй QChar::unicode.
Название: Re: QChar to ascii Отправлено: berik.kz от Октябрь 06, 2009, 07:01 используй QChar::unicode. QChar::unicode использовал не помогает.Ё = 1025 в unicode Ё = A8 в HEX (168 в DEC) тогда каким образом можно получить цифру 168 используя unicode метод? ??? Название: Re: QChar to ascii Отправлено: Rcus от Октябрь 06, 2009, 07:18 Символа 'Ё' нет в ASCII, метод toAscii() по-умолчанию переводит символы в кодировку Latin-1 (ISO 8859-1), поэтому машинное представление 'µ' неотличимо от представления в кодировке Windows-1251 (в которой символу 'Ё' соответствует код 168). Смотрите QTextCodec.
Название: Re: QChar to ascii Отправлено: berik.kz от Октябрь 06, 2009, 07:57 Символа 'Ё' нет в ASCII, метод toAscii() по-умолчанию переводит символы в кодировку Latin-1 (ISO 8859-1), поэтому машинное представление 'µ' неотличимо от представления в кодировке Windows-1251 (в которой символу 'Ё' соответствует код 168). Смотрите QTextCodec. Теперь понятно.Спасибо. Название: Re: QChar to ascii Отправлено: motodrug от Октябрь 12, 2009, 09:13 Вообще, для конвертации unicode строк в консольный вывод есть специальная функция: qPrintable().
Посмотри доку, может поможет. С уважением. |