您的位置:首页 > 其它

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

2018-01-30 16:57 323 查看
平常转换没怎么注意,一般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。



2、用toLatin1()类虽然可以转换,但是遇到中文,显示?????。

QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError);  

3、于是用了这个方法,问题解决:

QJsonDocument::fromJson(byteArray.toStdString().data(), &jsonError);   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: