//Qt|QString转换QByteArray时中文问题解决方案

平常转换没怎么注意,一般QString转换成QByteArray不会出现问题,今天涉及到QJsonDocument类,转换出现以下问题:
1、用toLocal8Bit()
QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError); // 转化为 JSON 文档
if (doucment.isNull()||(jsonError.error != QJsonParseError::NoError)) {
qDebug() << "Error : " << "doucment:" << doucment.isNull() << "jsonError:" << jsonError.error
};
直接Error报错,jsonError错误9。
//Qt|QString转换QByteArray时中文问题解决方案
文章图片


2、用toLatin1()类虽然可以转换,但是遇到中文,显示?????。
QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError);

【//Qt|QString转换QByteArray时中文问题解决方案】3、于是用了这个方法,问题解决:
QJsonDocument::fromJson(byteArray.toStdString().data(), &jsonError);

    推荐阅读