码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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接收:

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

    windows发送:

    1. void Server::on_pushButton_Send_clicked()
    2. {
    3. if(ui->listWidget_IP->selectedItems().length()>0)
    4. {
    5. foreach(QListWidgetItem* item, ui->listWidget_IP->selectedItems())
    6. {
    7. QString clientIP=item->text().split(":")[0];
    8. int clientPort=item->text().split(":")[1].toInt();
    9. for(int i=0;i<tcpClients.length();i++)
    10. {
    11. if(tcpClients[i]->peerAddress().toString()==clientIP &&tcpClients[i]->peerPort()==clientPort)
    12. {
    13. tcpClients[i]->write(ui->plainTextEdit_Send_Msg->toPlainText().toUtf8());//windows与linux之间数据传送
    14. // tcpClients[i]->write(ui->plainTextEdit_Send_Msg->toPlainText().toLocal8Bit());fromLocal8Bit显示中文,解决乱码,windows之间
    15. ui->plainTextEdit_Recv_Msg->appendPlainText(GetCurrentTimeStr()+" 发送:"+ui->plainTextEdit_Send_Msg->toPlainText());
    16. }
    17. }
    18. }
    19. }
    20. else
    21. {
    22. QMessageBox::information(this,"提示","IP列表未选择");
    23. }
    24. }

  • 相关阅读:
    [附源码]java毕业设计红河旅游信息服务系统论文
    Java网络编程
    【考研数学】二. 一元函数积分学
    2023年全球市场数字干膜测量仪总体规模、主要生产商、主要地区、产品和应用细分研究报告
    会声会影2023最新旗舰版下载功能介绍
    校招VIP】前端算法考察之排序
    一、了解[mysql]索引底层结构和算法
    日语基础复习 Day 13
    [unity][通过代码]控制模型旋转,动态改变模型角度,让模型转动到固定角度
    JS防抖和节流
  • 原文地址:https://blog.csdn.net/txwtech/article/details/134395549
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号