了解 struct.unpack python
Posted
技术标签:
【中文标题】了解 struct.unpack python【英文标题】:Understanding struct.unpack python 【发布时间】:2015-02-22 19:25:25 【问题描述】:test = struct.unpack('>%dH' % 1, '\x00\x44')
让我很困惑。我认为这意味着取前 8 个字节并将它们视为双精度字节,然后将接下来的两个字节视为短字节,然后一次性完成所有这些操作。但它意味着别的东西,我不知道是什么。似乎意识到没有双重存在并将这两个字节转换为一个数字。
这段代码
test = struct.unpack('>1dH' , '\x00\x44')
抛出一个错误,因为它期望找到一个双...
谁能告诉我这两者有什么区别?
谢谢
【问题讨论】:
【参考方案1】:'>%dH' % 1
等价于'>1H'
。
>>> '>%dH' % 1
'>1H'
'>%dH' % 1
正在使用old-style string formatting 将%d
替换为1
。
所以结构格式指定了一个大端的两字节无符号短。
【讨论】:
以上是关于了解 struct.unpack python的主要内容,如果未能解决你的问题,请参考以下文章
使用 struct.unpack_from() 解包混合二进制数据
如何使用 struct.unpack 并将其转换为 Objective-c 中的值