crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> 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 так чтобы оно буквы были буквами.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
rnd
  опции профиля:
сообщение 14.10.2009, 7:48
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 54
Регистрация: 22.7.2009
Пользователь №: 930

Спасибо сказали: 1 раз(а)




Репутация:   0  


Можно так:

QTextCodec* codec = QTextCodec::codecForName("ИМЯ_ИСХОДНОЙ_КОДИРОВКИ");
QByteArray encodedByteArray = ...;
QString decodedString = codec->toUnicode(encodedByteArray);


а можно установить кодек сразу для все null-terminated строк:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("ИМЯ_ИСХОДНОЙ_КОДИРОВКИ"));

тогда будет автоматическая конвертация во время всех вызовов QString::fromAscii(...)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 2.3.2025, 7:29