我正在测试struct模块,因为我想向另一个应用程序发送带有字节(char)和无符号整数参数的简单命令。
然而,当转换到小端无符号整数时,我发现了一些奇怪的事情,这些示例会打印出正确的十六进制表示:
>>> import struct
>>> struct.pack('<I',7)
b'\x07\x00\x00\x00'
>>> struct.pack('<I',11)
b'\x0b\x00\x00\x00'
>>> struct.pack('<I',16)
b'\x10\x00\x00\x00'
>>> struct.pack('<I',15)
b'\x0f\x00\x00\x00'
但是这些例子显然不行:
>>> struct.pack('<I',10)
b'\n\x00\x00\x00'
>>> struct.pack('<I',32)
b' \x00\x00\x00'
>>> struct.pack('<I',64)
b'@\x00\x00\x00'
我希望你能提供任何解释或提示。先行感谢!