如果從串口或者網絡收到傳送過來的中文數據解析發生亂碼,解決辦法如下:
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裏面中文英文均正常了