当前位置: 首页 > news >正文

QT windows与linux之间sokcet通信中文乱码问题解决方法

QT windows与linux之间sokcet通信中文乱码问题解决方法

linux发送与接收都转码utf-8:

tcpClient ->write( send_msg.toUtf8());//解决乱码,发送转码

接收:

QByteArray buffer = tcpClient->readAll();
if(!buffer.isEmpty())
{
// ui->plainTextEdit_Recv_Msg->appendPlainText(str_time+" "+QString::fromLocal8Bit(buffer));
ui->plainTextEdit_Recv_Msg->appendPlainText(str_time+" "+QString::fromUtf8(buffer)); //linux 读取数据,接收转码

}

windows发送与接收都转码utf-8:

linux接收:

void Dialog_debug::slot_readData()
{QDateTime current_time=QDateTime::currentDateTime();// QString str_time=current_time.toString("yyyy-MM-dd hh:mm:ss.zzz ddd");//ddd--周五,zzz毫秒QString str_time=current_time.toString("yyyy-MM-dd hh:mm:ss");//ddd--周五,zzz毫秒QByteArray buffer = tcpClient->readAll();if(!buffer.isEmpty()){// ui->plainTextEdit_Recv_Msg->appendPlainText(str_time+" "+QString::fromLocal8Bit(buffer));ui->plainTextEdit_Recv_Msg->appendPlainText(str_time+" "+QString::fromUtf8(buffer)); //linux 读取数据}
}

windows发送:

void Server::on_pushButton_Send_clicked()
{if(ui->listWidget_IP->selectedItems().length()>0){foreach(QListWidgetItem* item, ui->listWidget_IP->selectedItems()){QString clientIP=item->text().split(":")[0];int clientPort=item->text().split(":")[1].toInt();for(int i=0;i<tcpClients.length();i++){if(tcpClients[i]->peerAddress().toString()==clientIP &&tcpClients[i]->peerPort()==clientPort){tcpClients[i]->write(ui->plainTextEdit_Send_Msg->toPlainText().toUtf8());//windows与linux之间数据传送//  tcpClients[i]->write(ui->plainTextEdit_Send_Msg->toPlainText().toLocal8Bit());fromLocal8Bit显示中文,解决乱码,windows之间ui->plainTextEdit_Recv_Msg->appendPlainText(GetCurrentTimeStr()+" 发送:"+ui->plainTextEdit_Send_Msg->toPlainText());}}}}else{QMessageBox::information(this,"提示","IP列表未选择");}}

http://www.lryc.cn/news/230339.html

相关文章:

  • Java实现DXF文件转换成PDF
  • 揭秘Vue中的nextTick:异步更新队列背后的技术原理大揭秘!
  • PHP使用文件缓存实现html静态化
  • A Gentle Introduction to Graph Neural Networks
  • 详解[ZJCTF 2019]NiZhuanSiWei 1(PHP两种伪协议、PHP反序列化漏洞、PHP强比较)还有那道题有这么经典?
  • bazel build使用【未完】
  • 11-13 /11-14代理模式 AOP
  • Ubuntu 创建并发布 Django 项目
  • SQL Server进阶知识
  • TFHEpp 使用记录
  • 大模型的实践应用6-百度文心一言的基础模型ERNIE的详细介绍,与BERT模型的比较说明
  • vue:如何把后端传过来的数组的其中一个对象加入新的属性
  • 数据库数据恢复—MSSQL报错“附加数据库错误823”如何恢复数据?
  • 如何使用 Java 设计一个简单的成绩计算程序
  • requests 在 Python 3.2 中使用 OAuth 导入失败的问题与解决方案
  • 山东省技能兴鲁网络安全大赛 web方向
  • No206.精选前端面试题,享受每天的挑战和学习
  • C#,数值计算——函数计算,Ratfn的计算方法与源程序
  • 排序算法之-快速
  • [vim]Python编写插件学习笔记2 - 分离
  • 【已解决】ModuleNotFoundError: No module named ‘kornia‘
  • 预览PDF并显示当前页数
  • 阿里云优惠券介绍、作用、领取入口及使用教程
  • Shell编程--流程控制
  • 设计模式-模板方法模式(Template Method)
  • 远程登录Linux方法(Linux平台相互远程;Windows远程登录Linux、远程编码、文件传输;无法远程登录的问题解决;c程序的编译)
  • macOS 13.6 及后续系统安装 Asahi Linux 将破坏引导
  • Python武器库开发-flask篇之flask框架的安装(二十一)
  • 【CASS精品教程】打开cass提示base.dcl未找到文件的解决办法
  • [vim]Python编写插件学习笔记3 - 命令行参数