Подтвердить что ты не робот

Как указать символ юникода с помощью QString?

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

Edit:

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

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

Ответ 1

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

QString s = QChar(0x4FF0);

Ответ 2

По-видимому, '\ 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");

Ответ 3

Как прямой указатель, попробуйте QString (QChar (0x4FF0));

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