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列表未选择");
    }



}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/143373.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

⛳面试题-简述并分析ThreadLocalMap的key为什么是弱引用

⛳目录 简述 ThreadLocalMap 的 key 为弱引用的原因&#xff1a;分析&#xff1a;注意 &#xff1a; ThreadLocalMap 是 Java 中与 ThreadLocal 相关的一个重要类&#xff0c;用于在每个线程中存储和访问线程本地变量。在 ThreadLocalMap 中&#xff0c;key 为弱引用的主要原因…

Cesium 展示——根据鼠标移动,线实体也跟着移动

文章目录 需求分析需求 如图所示,点击第一个点后鼠标移动,实现线实体跟着鼠标移动而移动 分析 创建初始化点实体和线实体更改线实体的坐标let centerPoint; // 用于存储圆心位置 let lineEntity;//存储绘制的线条 const that = this; this.handler

navicat创建MySql定时任务

navicat创建MySql定时任务 前提 需要root用户权限 需要开启定时任务 1、开启定时任务 1.1 查看定时任务是否开启 mysql> show variables like event_scheduler;1.2 临时开启定时任务(下次重启后失效) set global event_scheduler on;1.3 设置永久开启定时任务 查看my…

【最好用最省事最权威】VMware安装出现无法删除VMware旧版本,请与技术小组联系

彻底删除之----windows install clean up 微软自己出的卸载软件&#xff0c;用它可以完美卸载VMware 选中VMware

DALL·E 2 文生图模型实践指南

前言&#xff1a;本篇博客记录使用dalle2模型进行推断时借鉴的相关资料和DEBUG流程。 相关博客&#xff1a;超详细&#xff01;DALL E 文生图模型实践指南 目录 1. 环境搭建和预训练模型准备环境搭建预训练模型下载 2. 代码3. BUG&DEBUGURLErrorCUDA errorRuntimeErrorPyd…

算法笔记-第五章-分数的四则运算

分数的四则运算 分数约分分数加法分数减法分数乘法分数除法分数的输出 分数约分 #include <cstdio> #include <algorithm> using namespace std; struct Fraction {//用结构体表示分子和分母int up, down; }; int gcd(int a, int b) {//求出最大公约数if (b 0) {r…

编程实例与解释,编程入门自学指南,中文编程工具下载

编程实例与解释&#xff0c;编程入门自学指南&#xff0c;中文编程工具下载。 编程实例可以点击最下方卡片了解&#xff0c;编程入门自学可以先从容易的入手&#xff0c;比如中文编程&#xff0c;先学习编程思路&#xff0c;然后再学习其他语言会比较轻松。中文编程工具可以下…

浅谈JavaScript闭包,小白的JS学习之路!

前言 在JavaScript中&#xff0c;闭包是一种强大而灵活的特性&#xff0c;它不仅允许变量私有化&#xff0c;而且提供了一种在函数执行完毕后仍然保持对外部作用域变量引用的机制。本文将深入讨论JavaScript闭包的概念、优点、缺点以及如何避免潜在的内存泄漏问题。 调用栈与…

Shiro快速入门之二

一、前言 Shiro快速入门之一 介绍了Shiro三大核心组件&#xff0c;四大核心功能&#xff0c;以及一个简单的Test Demo&#xff0c;接下来两篇我会用一个比较完整的例子来讲述Shiro的认证及授权是怎么做的&#xff0c;本篇侧重于介绍认证的过程 二、Shiro认证例子 1、例子概述…

H5三网魔幻手游【众神传奇】win服务端+GM授权后台+架设教程

搭建资源下载地址&#xff1a;H5三网魔幻手游【众神传奇】win服务端GM授权后台架设教程-海盗空间

锂价疲软,市场需求持续低迷,赣锋锂业在短期内将继续面临痛苦

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 公司介绍 在赣锋锂业(01772)(002460)网站上&#xff0c;赣锋锂业称自己是一家拥有“中国第一”和“世界最大锂金属生产商”的“锂化合物产能”公司。 根据其2022财年年度报告&#xff0c;该公司最近一个财年的收入有84%和1…

日历应用程序 BusyCal mac中文版软件特点

BusyCal mac是一款日历应用程序&#xff0c;它可以帮助用户轻松地管理日程安排、事件提醒、会议安排等。BusyCal 支持 macOS 和 iOS 平台&#xff0c;并且可以与 iCloud、Google 日历、Exchange 等多种日历服务进行同步。 BusyCal mac软件特点 强大的日历功能&#xff1a;Busy…

Rust编程中的共享状态并发执行

1.共享状态并发 虽然消息传递是一个很好的处理并发的方式&#xff0c;但并不是唯一一个。另一种方式是让多个线程拥有相同的共享数据。在学习Go语言编程过程中大家应该听到过一句口号:"不要通过共享内存来通讯"。 在某种程度上&#xff0c;任何编程语言中的信道都类…

活动通知邀请函H5页面制作源码系统+动感的背景音乐 自定义你想要的页面 源码完全开源可二开 带完整搭建教程

在现代社交活动中&#xff0c;一份精美、个性化的活动邀请函不仅能够展现主办方的品味和诚意&#xff0c;还可以吸引更多的参与者。然而&#xff0c;制作一份精美的活动邀请函需要专业的设计和技术支持&#xff0c;这对于很多非专业人士来说是一个难题。此外&#xff0c;传统的…

mysql之主从复制和读写分离

一、主从复制 1、定义 主mysql上的数据&#xff08;新增或修改库、表里的数据&#xff09;都会同步到从mysql上 2、mysql的主从复制模式&#xff08;面试题&#xff09; &#xff08;1&#xff09;异步复制&#xff08;常用&#xff09;&#xff1a;默认的复制模式。客户端…

网络运维Day15

文章目录 Prometheus简介环境准备配置模板机环境部署阿里镜像源实验环境准备 部署prometheus服务查看及测试 Promethues 被监控端Grafana简介部署 Grafana 服务器修改数据源 监控数据库安装部署Mariadb安装导出器修改 Prometheus服务端配置Grafana配置 总结 Prometheus简介 Pr…

需要买哪些网络设备才能过等保?求解!

随着等保2.0的落地执行&#xff0c;越来越多的企业需要过等保。但不少企业都是第一次过等保&#xff0c;对于等保政策不是很了解&#xff0c;有小伙伴问&#xff0c;需要买哪些网络设备才能过等保&#xff1f;这里我们小编就给大家来简单回答一下&#xff0c;仅供参考哈&#x…

Q learning

Q learning Q Learning是强化学习算法中的一个经典算法。在一个决策过程中&#xff0c;我们不知道完整的计算模型&#xff0c;所以需要我们去不停的尝试。 算法流程 整体流程如下&#xff1a; Q-table 初始化 第一步是创建 Q-table&#xff0c;作为跟踪每个状态下的每个动作…

电商平台api接口对接电商数据平台,获取商品详情页面实时信息须知

随着互联网的发展和普及&#xff0c;电商平台已成为人们日常生活中不可或缺的一部分。而为了保证电商平台的正常运行&#xff0c;平台与开发者之间需要进行数据交互&#xff0c;这便涉及到了电商平台API接口对接的问题。本文将详细介绍电商平台API接口对接的须知事项。 一、了解…

双算法SSL证书

国际算法的优势与挑战 1. RSA算法 RSA算法是一种基于大素数分解的非对称加密算法&#xff0c;长期以来一直是SSL证书的主流选择之一。然而&#xff0c;随着计算能力的提高&#xff0c;RSA算法的密钥长度需要不断增加&#xff0c;以维持足够的安全性。 2. ECC算法 椭圆曲线密…