我有一段程序,通过QTcpSocket传递文本,包含中文
QByteArray ba = str.toLocal8Bit();
socket->write(ba);
客户端程序A在接受的时候,
QByteArray ba = socket->readAll();
QString str = QString::fromLocal8Bit(ba);
嗯,没有问题,中文正常显示。
然后,我将客户端程序A代码完全复制到另一个客户端程序程序B的时候,发现中文乱码了。
我打印了两个客户端程序的接受内容,在QByteArray ba = socket->readAll();这一句执行完成之后,两个客户端程序的ba都是一样的,但是在QString str = QString::fromLocal8Bit(ba);这句执行完后,两个str就不一样的。诡异啊!
开发平台是Win7 + Qt5.11.2