从Python中的字节数组中提取unsigned short int

时间:2019-07-10 07:37:10

标签: python arrays byte

我在Python中有一个4字节的bytearray,并且我想提取两个无符号的short int。第一个数字为bytes [0]和bytes [1],第二个为bytes [2]和bytes [3]。

这是我目前拥有的:

bytes_payload = bytearray(string_payload)
print bytes_payload[0]
print bytes_payload[1]
print bytes_payload[2]
print bytes_payload[3]

我该怎么做?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用struct.unpack()函数从字节数组中提取任何变量类型。您应使用

unpacked = struct.unpack("HH", bytes_payload)
print(unpacked[0])
print(unpacked[1])

第一个参数指定如何解释字节,您可以以任何方式组合说明符(如果它们与字节数组大小匹配)。请注意,您可能还需要指定字节顺序,以便正确解压缩数据。