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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Sum of Medians
    MINSUB
    Girls Love 233
    How Many Answers Are Wrong
    Sorting It All Out
    Cube Stacking
    Boolean Expressions
    表达式求值
    #1301 : 筑地市场
    用seaborn对数据可视化
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/10207052.html
Copyright © 2011-2022 走看看