QbyteArray и русские символы. |
Здравствуйте, гость ( Вход | Регистрация )
QbyteArray и русские символы. |
sawerset |
13.10.2009, 22:52
Сообщение
#1
|
Студент Группа: Участник Сообщений: 20 Регистрация: 26.11.2008 Пользователь №: 434 Спасибо сказали: 2 раз(а) Репутация: 0 |
Есть QbyteArray в нем находятся русские буквы.
При преобразовании его в Qstring (QString::fromAscii()) содержимое строки получается вот такое "\\\320\\237\\321\\200\\320\\270\\320\\262\\320\\265\\321\\202\" . Как преобразовать QbyteArray в Qstring так чтобы оно буквы были буквами. |
|
|
SABROG |
13.10.2009, 22:58
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Зависит от того в какой кодировке русские буквы попали в QByteArray.
|
|
|
rnd |
14.10.2009, 7:48
Сообщение
#3
|
Студент Группа: Участник Сообщений: 54 Регистрация: 22.7.2009 Пользователь №: 930 Спасибо сказали: 1 раз(а) Репутация: 0 |
Можно так:
а можно установить кодек сразу для все null-terminated строк:
тогда будет автоматическая конвертация во время всех вызовов QString::fromAscii(...) |
|
|
Litkevich Yuriy |
14.10.2009, 19:52
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
rnd |
15.10.2009, 21:20
Сообщение
#5
|
Студент Группа: Участник Сообщений: 54 Регистрация: 22.7.2009 Пользователь №: 930 Спасибо сказали: 1 раз(а) Репутация: 0 |
сейчас, в основном, говоря аскии, подразумевают расширенную (8-битную) аскии, наверно отсюда и название
|
|
|
Гость_AlexV_* |
16.10.2009, 11:33
Сообщение
#6
|
Гости |
Для взаимодействия с QByteArray (или char*) используйте toLocal8Bit() и fromLocal8Bit() класса QString
|
|
|
sawerset |
17.10.2009, 0:18
Сообщение
#7
|
Студент Группа: Участник Сообщений: 20 Регистрация: 26.11.2008 Пользователь №: 434 Спасибо сказали: 2 раз(а) Репутация: 0 |
Если во время отладки в gdb для строки (char[]) сделать display то
То будет такое содержимое как приведено мною раньше. У charset значение ASCII. Как этот результат display перевести в нормальные буквы. |
|
|
Kagami |
17.10.2009, 9:26
Сообщение
#8
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
Простое решение - поставить Qt Creator и отлаживать в нем. У него есть дополнительные средства для отображения типов Qt в GDB.
|
|
|
Текстовая версия | Сейчас: 2.12.2024, 8:46 |