如果从串口或者网络收到传送过来的中文数据解析发生乱码,解决办法如下:
1、发送时把中英文混合字符串转换成16进制用:.QByteArray tsd=tstr.toLocal8bit();
2、收到数据时,使用如下方法处理:
2.1.QByteArray td;
2.2.td=接收的16进制数据
2.3.QTextCodec *tc=QTextCodec::codeForNmae("GBK");
2.4.tstr=tc->toUnicode(td);
2.5.此时,tstr里面中文英文均正常了