zoukankan      html  css  js  c++  java
  • 【转】qt ,使用tcp/ip协议网络传输数据时,字节序转换方法

    网络传输数据是需要保证字节序的正确,才能保证传输数据的准确,网络字节序一般是大端字节序。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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    angluar 判断后跳转加参数
    angular 返回上一页
    angular 组件跳转组件 并传参数
    angluar 表单提交时候报错
    angular 中获取select选中的值
    javascript
    将数据渲染到页面的方式:模版
    将数据渲染到页面的几种方式
    跨域
    ajax
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/10207052.html
Copyright © 2011-2022 走看看