【问题标题】:Understanding struct.unpack python了解 struct.unpack python
【发布时间】:2015-02-22 19:25:25
【问题描述】:
test = struct.unpack('>%dH' % 1, '\x00\x44') 

让我很困惑。我认为这意味着取前 8 个字节并将它们视为双精度字节,然后将接下来的两个字节视为短字节,然后一次性完成所有这些操作。但它意味着别的东西,我不知道是什么。似乎意识到没有双重存在并将这两个字节转换为一个数字。

这段代码

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

抛出一个错误,因为它期望找到一个双...

谁能告诉我这两者有什么区别?

谢谢

【问题讨论】:

    标签: python byte unpack


    【解决方案1】:

    '>%dH' % 1 等价于'>1H'

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

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

    所以结构格式指定了一个大端的两字节无符号短。

    【讨论】:

      猜你喜欢
      • 2016-08-16
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      相关资源
      最近更新 更多