微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python struct.pack和解压缩

如何解决Python struct.pack和解压缩

我绝对不是一个经验丰富的python程序员,这就是为什么我认为可能对此有一个明显的答案,但是我只是无法将自己的头缠在struct.pack上并解包。 我有以下代码

struct.pack("<"+"I"*elements,*self.buf[:elements])

我想反过来打包,但是我不确定如何,我知道“

解决方法

struct.pack接受非字节值(例如整数,字符串等)并将其转换为bytes。相反,struct.unpackbytes并将其转换为等效的“高阶”。

例如:

>>> from struct import pack,unpack
>>> packed = pack('hhl',1,2,3)
>>> packed
b'\x00\x01\x00\x02\x00\x00\x00\x03'
>>> unpacked = unpack('hhl',packed)
>>> unpacked
(1,3)

因此,在您的实例中,您具有低字节序的无符号整数(elements很多)。您可以使用相同的结构字符串('<' + 'I' * elements部分)对它们进行解包-例如struct.unpack('<' + 'I' * elements,value)

示例来自:https://docs.python.org/3/library/struct.html

,

查看文档:{​​{3}}

obj = struct.pack("<"+"I"*elements,*self.buf[:elements])
struct.unpack("<"+"I"*elements,obj)

这对您有用吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。