Помогите с кодировками |
Здравствуйте, гость ( Вход | Регистрация )
Помогите с кодировками |
sibmail |
11.2.2010, 13:54
Сообщение
#1
|
Студент Группа: Участник Сообщений: 63 Регистрация: 20.3.2009 Пользователь №: 626 Спасибо сказали: 0 раз(а) Репутация: 0 |
в программе я использую CP1251
в main.cpp написал следующее QTextCodec *codec=QTextCodec::codecForName("CP1251"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForCStrings(codec); QTextCodec::setCodecForLocale(codec); QString spec_symbol; int code=255; spec_symbol+=(char)code; //spec_symbol="я" и теперь обратно от символа к коду spec_symbol.at(0).unicode() //но здесь я уже получаю код 1103 Если в начале убрать QTextCodec *codec=QTextCodec::codecForName("CP1251");..... то все работает. как получить корректный код??? |
|
|
vadim303 |
11.2.2010, 15:29
Сообщение
#2
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 18.1.2010 Пользователь №: 1382 Спасибо сказали: 2 раз(а) Репутация: 0 |
Имхо вы загоняете в QString символ я в кодировке cp1251, а потом получаете код этого символа в юникоде. Так что вполне логичный результат "я" как раз в юникоде имеет код 1103 (0x044F)
|
|
|
Текстовая версия | Сейчас: 15.1.2025, 4:29 |