test = struct.unpack('>%dH' % 1, '\x00\x44')
令我困惑。我认为这意味着需要前8个字节并将它们视为双精度然后接下来的两个并将它们视为短路,然后完成所有这一切。但它意味着别的东西,我无法弄清楚是什么。它似乎意识到没有双重存在并将这两个字节转换为一个数字。
此代码
test = struct.unpack('>1dH' , '\x00\x44')
引发错误,因为它希望找到一个双重...
谁能告诉我这两者之间的区别是什么?
由于
答案 0 :(得分:2)
'>%dH' % 1
相当于'>1H'
。
>>> '>%dH' % 1
'>1H'
'>%dH' % 1
正在使用old-style string formatting将%d
替换为1
。
因此struct格式指定了一个big-endian双字节无符号short。