qtcpsocket调用write和read函数写数据乱码问题解决方法

原创 2017年06月06日 09:28:28

参考以下博客QTcpSocket通信乱码解决方法

http://blog.csdn.net/zouhao619/article/details/7100752


qtcpsocket写中文会乱码,在写入前和读出后进行处理一下就可以正常显示,如先调fromlocal8Bit,再将数据转成utf8,同时长度也需要转成utf8后再获取

QString str = QString::fromLocal8Bit("服务器接收到数据,给客户端发送数据");
socket->write(str.toUtf8(),str.toUtf8().size());


读时读取出来后,先转为utf8,再从utf8转为local8Bit,即能正常输出中文。

qint64 bytes = socket->bytesAvailable();
QString str = socket->read(bytes);
printf("read data[%s]\n", QString::fromUtf8(str.toUtf8()).toLocal8Bit().data());

QT tcp Socket 通信开发

 转自:http://blog.csdn.net/demowolf/archive/2010/05/17/5598879.aspx 折腾了很久TCP IP通信机制。 以前虽然看过bsd tcp/ip的...
  • lincyang
  • lincyang
  • 2010年07月21日 21:07
  • 26425

关于使用QTcpSocket的一些总结

QTcpSocket类的方法connectToHost会泄露内存,即使把调用这个方法的QTcpSocket实例delete掉,内存也不会释放!反复connectToHost会导致段错误,十分危险。必须...

QTcpSocket通信乱码解决方法

在QTcpSocket中通信会出现乱码的情况: 首先不是由于自己设置编码的问题.....在main中加入 QTextCodec *codec = QTextCodec::codecForNa...

read函数乱码问题的解决

 今天写了个c程序,其中有一段代码是,用read从一个文件中读取内容,然后使用printf将读取的内容显示出来。可是读取的显示出来的内容总有几个地方是乱码,而且还有一部分内容是重复的。什么原因?过了一...

Qt之读写文件

1.思路读写文件的基本操作: 读文件写文件 打开文件打开文件 读取文件写入文件 关闭文件关闭文件 2.QFile实现读写文件QFile类提供读写文件的接口。 它的构造函数如下: QFile(con...

QT使用QTcpSocket和QTcpServer通信是出现乱码的问题

在使用QTcpSocket和QTcpSever出现乱码的问题,从根本上来说是文本的编码的问题,如果发送端的数据使用的是一种文本编码方式,而接收端没有使用相应的文本解码方式来解释发送过来的数据,那么就会...

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

Qt version:5.2 download了一份4.8的代码下来研究这个tcp通信。 结果挺萌的,QTextCodec中各种方法过时和被抛弃; 编译都通不过。 将有关编码的代码全部删除后,...

qt如何使用QString读取和保存中文字符?

第一种方法,逐一取中QString的字符,进行判断。 [html] view plaincopy QString str;   int nCount = str.count();   for(...
  • taoerit
  • taoerit
  • 2014年07月18日 12:28
  • 2853

android蓝牙开发——简单的文字传输

Android 蓝牙连接 BluetoothAdapter蓝牙适配器 BluetoothDevice 蓝牙设备   连接并实现通信过程 1.    打开蓝牙 //请求用户打开 Intent...

有方M660模块乱码问题解决方法

  • 2014年10月04日 17:34
  • 16KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:qtcpsocket调用write和read函数写数据乱码问题解决方法
举报原因:
原因补充:

(最多只允许输入30个字)