QJsonObject插入会损坏utf8字符串



我有这个代码,其中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(每个字符两个字节)数组中。

相关内容

  • 没有找到相关文章

最新更新