上同调函子 2022-06-07 20:54 采纳率: 0%
浏览 181
已结题

Qt在TCP通信中接受中文乱码且不全

从服务端发送字符串给客户端,服务器端是阿里云的ubuntu系统(c++)来发送数据,客户端使用的是Qt来接收数据

服务器端代码:

string s="123abc你好";//要发送的字符串,包含汉字字母和数字
char*ss = new char[s.size()+1];
strcpy(ss,s.c_str());  //转换为char*
write(pinfo->fd,ss,len);

客户端代码:

    connect(socket, &QTcpSocket::readyRead, [=]()
    {
        QByteArray recvMsg = socket->readAll();
        qDebug()<<recvMsg;
    });

打印结果如下图

img

可见字母和数字“123abc”编码没有乱码,汉字"你好"变成了16进制,而且数据长度似乎也不对

我感觉问题有两个

1是中文变成16进制乱码?
2是数据长度不一致?

请问如何解决这两个问题

  • 写回答

3条回答 默认 最新

  • 赵4老师 2022-06-08 09:38
    关注
    获得2.70元问题酬金

    了解一下
    TCP拆包解包
    utf8编解码

    评论

报告相同问题?

问题事件

  • 系统已结题 6月15日
  • 创建了问题 6月7日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题