Russian Qt Forum
Ноябрь 23, 2024, 06:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: помогите с перекодированием  (Прочитано 4048 раз)
sibmail
Гость
« : Февраль 11, 2010, 14:02 »

в программе я использую 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");..... то все работает.

как получить корректный код???
Записан
sibmail
Гость
« Ответ #1 : Февраль 11, 2010, 14:03 »

использую Qt3.3.8
Записан
voronElf
Гость
« Ответ #2 : Февраль 11, 2010, 14:20 »

Цитировать
spec_symbol.at(0).unicode() //но здесь я уже получаю код 1103

Все правильно, функция unicode() возвращает код символа в юникоде, а заносил ты туда по ascii коду
Записан
sibmail
Гость
« Ответ #3 : Февраль 11, 2010, 14:58 »

Цитировать
spec_symbol.at(0).unicode() //но здесь я уже получаю код 1103

Все правильно, функция unicode() возвращает код символа в юникоде, а заносил ты туда по ascii коду

так как сделать правильно то?
Записан
vadim303
Гость
« Ответ #4 : Февраль 11, 2010, 17:11 »

 Веселый
http://www.forum.crossplatform.ru/index.php?s=&showtopic=4263&view=findpost&p=30088
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 21.