博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】qt ,使用tcp/ip协议网络传输数据时,字节序转换方法
阅读量:5340 次
发布时间:2019-06-15

本文共 856 字,大约阅读时间需要 2 分钟。

网络传输数据是需要保证字节序的正确,才能保证传输数据的准确,网络字节序一般是大端字节序。qt提供了以下两种方法来将本地字节序转换为网络字节序:

方法一,使用qt提供的字节序转换函数

T qFromBigEndian(const uchar * src)

T qFromBigEndian(T src)
T qFromLittleEndian(const uchar * src)
T qFromLittleEndian(T src)
void qToBigEndian(T src, uchar * dest)
T qToBigEndian(T src)
void qToLittleEndian(T src, uchar * dest)
T qToLittleEndian(T src)
quint16 src = 8823;
QByteArray byte_arry;
uchar temp[2];
qToBigEndian<quint16>(src, temp);
byte_array.append((char*)temp,2);

方法二,使用QDataStream来读写QByteArray, QDataStream 可以设置字节序

int i = 8823;

QDataStream data_stream(&byte_array, QIODevice::WriteOnly);
data_stream.setByteOrder(QDataStream::BigEndian);
data_stream<<i;

---------------------

作者:life_is_too_hard
来源:CSDN
原文:https://blog.csdn.net/life_is_too_hard/article/details/51557929
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/h2zZhou/p/10207052.html

你可能感兴趣的文章
C#如何计算代码执行时间
查看>>
项目更新到公网服务器的操作步骤
查看>>
js练习- 给你一个对象,求有几层
查看>>
阿里前端一面
查看>>
Computer Science Fundamentals
查看>>
【转】idea 用maven骨架生成项目速度慢的问题
查看>>
集成支付宝-iOS
查看>>
BENCHMARKING LIBEVENT AGAINST LIBEV
查看>>
关于C、OC、C++、OC++、Swift的一些常识
查看>>
面试中经典的数据库问题
查看>>
Java——Java多态
查看>>
【4.安装MYSQL】
查看>>
【通过反射获取成员方法并使用】
查看>>
dpdk 代码分析一 : 内存初始化
查看>>
基本配置5-被忽悠进了CentOS 6
查看>>
2017.3.30-morning
查看>>
2017.5.8-afternoon
查看>>
Android 软键盘的显示和隐藏,这样操作就对了
查看>>
waitpid()设置WNOHANG位(非阻塞模式)判断子进程的状态是否有所改变
查看>>
Java——循环
查看>>