QT 与 android java socket通讯 中文字符编码问题 解决
2012-08-30 10:23
465 查看
QT作为 socket server,接受java端发送来的数据。(通过UTF8编码进行数据传输)
qint64len=
sock->bytesAvailable();
android java client端:(我们当前采用utf8编码发送数据,android sdk中的writeUTF是对发送的数据执行UTF8编码,看图片:Writes the specified string encoded in UTF-8)
clientSocket = new Socket("192.168.1.106", 1234);
dout = new DataOutputStream(clientSocket.getOutputStream());
String sendText = editText.getText().toString();
//从文本输入框获取内容
dout.writeUTF(sendText);
QT 服务器端接受数据问题来了:
通过对发送过来的数据打印16进制发现,前面多两个0,所以对网络数据编码时从第三字节开始执行UTF8编码 mid(2)。
如果直接对接受的readAll()数据执行utf8编码,数据肯定不正确。
程序输出:
android java客户端:
QT server端
转载请注明连接地址!/article/9209997.html
qint64len=
sock->bytesAvailable();
qDebug()<<"socket data len:"<< len;
QByteArray alldata = sock->read(len)
QTextCodec *utf8codec = QTextCodec::codecForName("UTF-8");
QString utf8str = utf8codec->toUnicode(alldata.mid(2));
qDebug()<<"hex:["<<alldata.toHex().toUpper()<<"]";
qDebug()<<"utf-8 ["<< (utf8str) << "]";
android java client端:(我们当前采用utf8编码发送数据,android sdk中的writeUTF是对发送的数据执行UTF8编码,看图片:Writes the specified string encoded in UTF-8)
clientSocket = new Socket("192.168.1.106", 1234);
dout = new DataOutputStream(clientSocket.getOutputStream());
String sendText = editText.getText().toString();
//从文本输入框获取内容
dout.writeUTF(sendText);
QT 服务器端接受数据问题来了:
通过对发送过来的数据打印16进制发现,前面多两个0,所以对网络数据编码时从第三字节开始执行UTF8编码 mid(2)。
如果直接对接受的readAll()数据执行utf8编码,数据肯定不正确。
程序输出:
android java客户端:
QT server端
转载请注明连接地址!/article/9209997.html
相关文章推荐
- QT 与 android java socket通讯 中文字符编码问题 解决
- Qt中文乱码问题解决办法
- 解决qt程序在板子上不能正常显示中文的问题
- Android中文乱码问题解决
- Qt 绘制系统自带的最小化按钮和关闭按钮 及 解决中文乱码问题
- 配置zend studio9文件字符编码以解决中文乱码问题
- 数字图像处理成长之路16:QT中问题的解决办法androiddeployqt.exe"退出,退出代码 14
- 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)
- QT解决中文乱码问题(1)
- Qt5中文乱码问题,解决
- 中文乱码问题 ? 原因:JSP中默认使用iso-8859-1字符编码方式,不支持中文 ? 常见的支持中文的编码方式:gb2312(常用简体汉字)、gbk(简体和繁体汉字)、utf-8 ? 解决中文乱码
- QT之解决按钮显示中文乱码问题
- Android Studio设置主题 和 不支持中文的问题解决方法
- 解决:QT4中文输出乱码的问题
- 《ArcGIS Runtime SDK for Android开发笔记》——问题集:如何解决ArcGIS Runtime SDK for Android中文标注无法显示的问题(转载)
- Android studio编译之后显示中文乱码的问题解决办法
- android自定义CheckBox和RadioButton中文字和图片之间距离问题解决
- 完美解决qt(4.8.4) 中文路径问题
- QT中一种中文乱码问题的解决方法
- Qt无法输入中文问题解决