理解 struct.unpack python
Understanding struct.unpack python
test = struct.unpack('>%dH' % 1, '\x00\x44')
让我很困惑。我认为这意味着取前 8 个字节并将它们视为 double,然后取下两个字节并将它们视为 short,一次完成所有操作。但这意味着别的东西,我不知道是什么。它似乎意识到没有双重存在并将这两个字节转换为一个数字。
此代码
test = struct.unpack('>1dH' , '\x00\x44')
抛出错误,因为它期望找到一个双...
谁能告诉我这两者有什么区别?
谢谢
'>%dH' % 1
等价于 '>1H'
。
>>> '>%dH' % 1
'>1H'
'>%dH' % 1
正在使用 old-style string formatting 将 %d
替换为 1
。
因此结构格式指定了一个大端双字节无符号短整型。
test = struct.unpack('>%dH' % 1, '\x00\x44')
让我很困惑。我认为这意味着取前 8 个字节并将它们视为 double,然后取下两个字节并将它们视为 short,一次完成所有操作。但这意味着别的东西,我不知道是什么。它似乎意识到没有双重存在并将这两个字节转换为一个数字。
此代码
test = struct.unpack('>1dH' , '\x00\x44')
抛出错误,因为它期望找到一个双...
谁能告诉我这两者有什么区别?
谢谢
'>%dH' % 1
等价于 '>1H'
。
>>> '>%dH' % 1
'>1H'
'>%dH' % 1
正在使用 old-style string formatting 将 %d
替换为 1
。
因此结构格式指定了一个大端双字节无符号短整型。