我正在尝试将 unicode 中的字符串(QString)转换为 utf-8。
qDebug 打印这样的字符串:
"故障码soap:客户端:\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u0438\u0434\u0435\u043D\u0442\u0438\u042\u0438\u04 "
我试过QTextCodec
这样使用,但它输出相同的不可读字符串:
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QString readableStr = QString::fromUtf8(codec->fromUnicode(str));
我究竟做错了什么?
编辑:
我想知道发生了什么,但是qDebug
打印时会发生QString
...
以下代码
qDebug() << QString::fromUtf8("тест") << "тест" << QString::fromUtf8("тест").toUtf8().data();
打印出来:
“\u0442\u0435\u0441\u0442”