我正在尝试解压缩一些原始数据。 (它超过3个字节,但我把它减少到了这个。)
我不希望在以下代码中进行回溯。我是不是该?对齐是否有问题?如你所见,第二是成功的。 (我的数据是未对齐的。我可以围绕它编码,但我应该吗?)
我想,(1,770)或(1,515)我想,不是例外。
http://docs.python.org/2/library/struct.html (B = uchar,1,8和H =短,2,16)
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> from struct import *
>>> unpack('BH', '\x01\x02\x03')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
struct.error: unpack requires a string argument of length 4
>>> unpack('HB', '\x01\x02\x03')
(513, 3)
>>>
答案 0 :(得分:1)
注意:
- ...
- 使用非原生大小和对齐时,不添加填充,例如使用'&lt;','&gt;','='和'!'。
醇>
>>> struct.unpack('<BH', '\x01\x02\x03')
(1, 770)
>>> struct.unpack('>BH', '\x01\x02\x03')
(1, 515)