我有这个代码,其中tag.m_description是一个包含西里尔字母的QString:"Ş
QJsonObject json;
QJsonObject::iterator it =
json.insert("value", QJsonValue( tag.m_description );
qDebug(QJsonValue( tag.m_description ).toString());
qDebug((*it).toString());
这是调试语句的第一个和第二个输出:
⠄䤄㬄䤄
第一个输出不错。第二个不是。
知道为什么QJsonObject::insert会损坏我的数据吗?
我在查看QJsonObject
源代码时发现,字符串存储为unicode字符串,而不是utf-8。它在内部存储在utf-16(每个字符两个字节)数组中。