我在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]
我该怎么做?
谢谢
答案 0 :(得分:1)
您可以使用struct.unpack()
函数从字节数组中提取任何变量类型。您应使用
unpacked = struct.unpack("HH", bytes_payload)
print(unpacked[0])
print(unpacked[1])
第一个参数指定如何解释字节,您可以以任何方式组合说明符(如果它们与字节数组大小匹配)。请注意,您可能还需要指定字节顺序,以便正确解压缩数据。