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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Коды русских символов  (Прочитано 3574 раз)
qtист
Гость
« : Август 18, 2010, 09:09 »

Есть строка
QString str="вася"
пытаюсь определить код элемента строки:
int a=str.at(0).toAscii(); - возвращается 0

т.е. если код символа находится до 0x7f то всё нормально.
чё надо сделать? Плачущий

Записан
Waryable
Гость
« Ответ #1 : Август 18, 2010, 09:22 »

QByteArray bArr = Str.toAscii();    // а дальше шастай себе по индексам
Записан
Barmaglodd
Гость
« Ответ #2 : Август 18, 2010, 09:25 »

Цитировать
Returns an 8-bit ASCII representation of the string as a QByteArray.

If a codec has been set using QTextCodec::setCodecForCStrings(), it is used to convert Unicode to 8-bit char; otherwise this function does the same as toLatin1().

Может таки надо toLocal8Bit(), или кодек выставить?
Записан
Barmaglodd
Гость
« Ответ #3 : Август 18, 2010, 09:27 »

И вообще, код из какой кодировки вам надо?
Записан
qtист
Гость
« Ответ #4 : Август 18, 2010, 09:46 »

вот получилось

QByteArray bArr = str.toLocal8Bit();   
qint64 ff=bArr.at(0);

всем спасибо  Смеющийся
Записан
Sancho_s_rancho
Гость
« Ответ #5 : Август 18, 2010, 15:12 »

Есть строка
QString str="вася"
пытаюсь определить код элемента строки:
int a=str.at(0).toAscii(); - возвращается 0

т.е. если код символа находится до 0x7f то всё нормально.
чё надо сделать? Плачущий


Так ASCII и не должна содержать символов кириллицы.
В документации все написано:
Цитировать
Returns an 8-bit ASCII representation of the string as a QByteArray.

If a codec has been set using QTextCodec::setCodecForCStrings(), it is used to convert Unicode to 8-bit char; otherwise this function does the same as toLatin1().
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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