理解struct.unpack python

时间:2015-02-22 19:25:25

标签: python byte unpack

test = struct.unpack('>%dH' % 1, '\x00\x44') 

令我困惑。我认为这意味着需要前8个字节并将它们视为双精度然后接下来的两个并将它们视为短路,然后完成所有这一切。但它意味着别的东西,我无法弄清楚是什么。它似乎意识到没有双重存在并将这两个字节转换为一个数字。

此代码

test = struct.unpack('>1dH' , '\x00\x44')

引发错误,因为它希望找到一个双重...

谁能告诉我这两者之间的区别是什么?

由于

1 个答案:

答案 0 :(得分:2)

'>%dH' % 1相当于'>1H'

>>> '>%dH' % 1
'>1H'

'>%dH' % 1正在使用old-style string formatting%d替换为1

因此struct格式指定了一个big-endian双字节无符号short。