从 Python 中的字节数组中提取无符号的短整型



我在 Python 中有一个 4 字节的bytearray,我想为第一个数字提取两个无符号的短 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]

我该怎么做?

谢谢

您可以使用

struct.unpack()函数从字节数组中提取任何变量类型。在您的情况下,您应该使用

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

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

最新更新