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列表未选择"); } }
欢迎讨论,相互学习。
cdtxw@foxmail.com
分类:
QT
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2022-11-14 c# 字典dictionary 1个key键对应多个值得方法-MultiDictionary