unu*_*tbu 14
struct模块没有3字节整数的选项,所以我认为你追加'\ x00'的想法是最简单的方法.
In [30]: import struct
In [38]: struct.pack('>3b',0,0,1)
Out[38]: '\x00\x00\x01'
In [39]: struct.unpack('>i','\x00'+'\x00\x00\x01')
Out[39]: (1,)
Run Code Online (Sandbox Code Playgroud)
Jon*_*nts 12
我想从3.2 int开发了一种新方法.from_bytes,所以你可以使用以下代替struct.unpack:
int.from_bytes(b'\x00\x00\x01', 'big')
# 1
Run Code Online (Sandbox Code Playgroud)
供参考,请参阅:http://docs.python.org/dev/library/stdtypes.html#int.from_bytes