QT中socket通信中文乱码问题(get√)

Qt version:5.2

download了一份4.8的代码下来研究这个tcp通信。

结果挺萌的,QTextCodec中各种方法过时和被抛弃;

编译都通不过。

将有关编码的代码全部删除后,通过了 并且能够运行。但是。。

挺萌的,乱码。发送和接受都乱码。

研究找到解决方法如下。

参考两段代码,发送和接受的:

发送:

void TcpS::btn_send()
{
 
     QByteArray datasend = ui->textEdit->toPlainText().toLocal8Bit();
    
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Qt进程通信,如果中文出现问题,可以使用QTextCodec类来进行解决。在上述引用的示例,可以看到在读取进程输出时,使用了QTextCodec来对输出进行解码,将其转换为Unicode编码。具体代码如下: ```cpp QObject::connect(cmdProcess, &QProcess::readyRead, [= () { QTextCodec *codec = QTextCodec::codecForName("GBK"); QString dir = codec->toUnicode(cmdProcess->readAll()); qDebug() << dir; }); ``` 在这段代码,我们通过指定编码方式为GBK,将读取到的进程输出进行解码,以保证中文正常显示。如果你的进程输出是使用其他编码方式进行的,可以根据实际情况选择相应的编码方式。 另外,也可以在创建QProcess实例之前,通过QTextCodec::setCodecForLocale()函数来设置全局的编码方式,以确保整个应用程序都使用相同的编码方式进行字符转换。 总结来说,为了解决Qt进程通信中文问题,可以使用QTextCodec类来进行字符编码和解码操作,以保证中文正常显示。123 #### 引用[.reference_title] - *1* *2* *3* [QT之进程和进程间通信(IPC)](https://blog.csdn.net/lvdepeng123/article/details/85697109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值