Как преобразовать Unicode QString в std :: string? - PullRequest
0 голосов
/ 23 марта 2011

Мне нужно преобразовать QString в std::string.Однако, если эта строка содержит символы Unicode, я получаю ????.Как я могу преобразовать строку с правильной кодировкой?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 23 марта 2011

Как вы пытались конвертировать строку до сих пор?

В соответствии с документацией std::string QString::toStdString () следует преобразовать unicode-данные в строку ascii

Но учтите, что вы теряете специальные символы, с которыми Асия не может справиться.

0 голосов
/ 23 марта 2011

Согласно документации Qt, QString :: toStdString внутренне использует функцию toAscii (): http://doc.qt.nokia.com/latest/qstring.html#toStdString

По сути, вам нужно создать собственную функцию-конвертер, которая вместо этого использовала бы QString :: toUtf8 ().

...