clickto |
2020-06-10 11:38 |
请教一个关于TCP传送中文乱码的问题
我有一段程序,通过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 |
|