出发点:在进行数据通信接收的字节,需要进行数据的解析转换
byte_data = b'\x00\x01'
# 使用大端序转换为十进制
decimal_number_big = int.from_bytes(byte_data, byteorder='big')
# 使用小端序转换为十进制
decimal_number_little = int.from_bytes(byte_data, byteorder='little')
print(decimal_number_big) # 输出 1
print(decimal_number_little) # 输出 256
大端序(Big-endian)表示:
最高有效字节(MSB)存储在最低的内存地址
例如:
0x1234 存储方式为:0x12(高字节) | 0x34(低字节)
内存地址:低|高
小端序(Little-endian)表示:
最高有效字节(MSB)存储在最高的内存地址
例如:
0x1234存储方式为:0x34(低字节) | 0x12(高字节)。
因此在进行数据字节转换时特别需要注意字节序。