码迷,mamicode.com
首页 > 其他好文 > 详细

qt下通过socket传送中文

时间:2016-05-20 23:37:39      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

zz


1.在main函数里我之前就加了一句QTextCodec::setCodecForTr( QTextCodec::codecForLocale() );
现在再加一句QTextCodec::setCodecForCStrings( QTextCodec::codecForLocale() );这句是会对QString类型的变量进行自动转换成本地的设置类型(一般都是中文哈)。

2.在发送方要把字符串转换成字节序:

// "GB18030" || "GBK"  || "GB2312"这三种都可以转换中文,其他的用在这里不是乱码就是程序崩溃。
QTextCodec *code= QTextCodec::codecForName("GBK");
QString strtest = "你好Test";
QByteArray bytest = code->fromUnicode( strtest );

传输时时用QByteArray类型传送的。

3.在接收方把接收到得QByteArray类型的变量通过QString的构造函数转换成QString类型
QByteArray bylog = byEventParam.mid( str.length() );// 接收到的字符串
QString strlog1( bylog );

qt下通过socket传送中文

标签:

原文地址:http://www.cnblogs.com/okstill/p/5513579.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!