手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

qt下tcp消息中,如何发送和接收中文字符

时间:2024-10-15 05:50:49

之前写的epoll测试例子中,只测试了英文字符的发送和接收,对于中文发送时,收到的是乱码,本文主要针对中文乱码的情况进行处理。

工具/原料

qt

epoll

TCP/UDP Socket调试工具

问题现象

1、服务器端为linux的epoll开发,在收到信息后,通过qDebug打印出来。客户端使用TCP/UDP Socket调试工具,发送中文:你好

qt下tcp消息中,如何发送和接收中文字符

2、单步调试查看收到的buf信息为十进制的196、227、186、195,对应的十六进制为C4 、E3、BA、C3对应的是发送中文的 gbk编码

qt下tcp消息中,如何发送和接收中文字符

3、通过qDebug显示出来的结果是乱码

qt下tcp消息中,如何发送和接收中文字符

解决接收中文乱码

1、既然知道了收到的中文是gbk编码,就可以通过编码转换,来显示中文

qt下tcp消息中,如何发送和接收中文字符

2、qDebug可以正常显示中文了

qt下tcp消息中,如何发送和接收中文字符

qt发送中文

1、通过qt来发送中文时,需要将发送的消息转换成GBK编码,然后再发送

qt下tcp消息中,如何发送和接收中文字符

2、运行结果如下

qt下tcp消息中,如何发送和接收中文字符

QUrl上传ftp中文文件

1、使用QUrl上传文件时,如果文件名是中文,也需要进行相应的修改这样上传到服务器上,中文名称才可以正常显示

qt下tcp消息中,如何发送和接收中文字符
© 手抄报圈