甲方使用的后台要求“整型数据采用小端传输”,大部分数据是4字节十六进制,有一些是2字节十六进制。
关于大小端传输,简单来说可以这样认为。
内存中低地址存最低有效字节的形式为小端传输
内存中低地址存最高有效字节的形式为大端传输
例如一个4字节十六进制数"0x11223344",装入QByteArray中。
按照字节左边为高位,右边为低位的规则。
如果取出结果如下
buff[0] == 0x44;
buff[1] == 0x33;
buff[2] == 0x22;
buff[3] == 0x11;
这里的"0"就表示低地址,0x44表示最低有效位;这样的传输方式为小端传输
Qt中关于大小端数据也有封装好的接口,头文件qendian.h或者QtEndian。
另外这个博客有更详细的解释和说明:
主要记录一下进制之间的转换
1 int c=254254;2 QByteArray da