【发布时间】:2021-02-01 20:52:50
【问题描述】:
我觉得这应该很简单,因为它很简单,我无法理解为什么它不起作用。
我有一个基本函数,它使用 struct.unpack 将字节数组转换为整数。所以我们可以在十六进制表示法中看到 x90 = 十进制的 144。所以我希望如果我要求 unpack 转换为整数,我会得到 144,但我会得到这个大得离谱的数字。我很乐意阅读您可以提供的任何参考资料,因为 struct documentation 没有提供任何线索。
请看下面的例子:
unpack_signed_integer, = struct.unpack('i', b'\x00\x00\x00\x90')
unpack_unsigned_integer, = struct.unpack('I', b'\x00\x00\x00\x90')
print(f"signed integer: {unpack_signed_integer}")
print(f"unsigned integer: {unpack_unsigned_integer}")
输出:
signed integer: -1879048192
unsigned integer: 2415919104
【问题讨论】:
标签: python arrays python-3.x struct unpack