Python - 字节byte数组与int之间的转换

将byte数组转int

# 方式一:
b = b'\x00\x00\x03\xE8'  # 或使用[0x0,0x0,0x3, 0xE8]亦可,需将列表转为字节b = bytes(b )。
i1 = struct.unpack('>i', b)[0]
print(i1)  # 1000

# 方式二:
i2 = int.from_bytes(b, byteorder='big', signed=True)
print(i2)  # 1000

将int转byte数组

# 方式一:
bs = struct.pack(">i", 1000)
array1 = list(bs)
print(array1)  # [0, 0, 3, 232],即[0x0,0x0,0x3,0xE8]

# 方式二:
array2 = (1000).to_bytes(4, 'big', signed=True)
print(array2)
注:大小端,>是大端,高字节在前,低字节在后。反之亦然。

float与byte数组互转,类同不再陈述,省流。

你可能感兴趣的:(Python,python)