Qt udp实现 包含中文字符串的传输

      在学习QT的过程中,怎么用QUdpSocket的过程中,实现包含中文字符的字符串传输呢?

      总的来说就是要把要传输的字符串转化成const char* 进行传输,在传输前要给转化成char*的数据,加上"\0"的字符串结束符

      即先得到QString info;

      接着在info后加上(char*)字符串结束符"\0";

      再将处理后的info转化成const char* data,并能求得data的长度;

      最后将data通过udpSocket->writeDatagram发送。

      以上四步如下图所示。

 

 

     在接受端接受udpSokcetF发送来的数据:

     先申请一个1024个字符的char receiveData[1024] ={0};

     接着直接调clientSocket->readDatagram(receiveData,1024);

     最后将其转化成QString。

     最后效果如下图所示:即可实现服务器端到客户端包含中文字符的 字符串的发送,而不是显示乱码。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值