Как указать символ Unicode, используя QString? - PullRequest
23 голосов
/ 28 сентября 2011

Как я могу указать символ юникода по коду (например, "4FF0"), используя QString?Я пытался QString s("\u4FF0");, но выводит только знак вопроса.Есть идеи, как это сделать?

Редактировать:

Это работает так, но есть ли более прямой путь?

std::wstring str = L"\u4FF07";
QString s = QString::fromStdWString(str));

Ответы [ 3 ]

25 голосов
/ 28 сентября 2011

Если под прямым словом вы подразумеваете использование значения кодовой точки Unicode, тогда QChar может быть:

QString s = QChar(0x4FF0);
15 голосов
/ 28 сентября 2011

Очевидно, что \ u работает только с UTF-8:

QString s = QString::fromUtf8("\u4FF0");

// Or with that at the start of your main function:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
...
QString s("\u4FF0");
0 голосов
/ 28 ноября 2017

В качестве прямого указателя попробуйте QString (QChar (0x4FF0));

Необходимо убедиться, что у вас правильная кодировка utf-16.

...