struct – 打包和解包原始数据类型

该模块实现了相应 CPython 模块的 一个子集,如下所述。有关更多信息,请参阅原始 CPython 文档: struct.

支持的大小/字节顺序前缀:@, <, >, !.

支持的格式代码: b, B, h, H, i, I, l, L, q, Q, s, P, f, d (后 2 种取决于浮点支持)。

与 CPython 的区别

格式字符串中不支持空格。

职能

struct.calcsize(fmt)

返回存储给定fmt所需的字节数。

struct.pack(fmt, v1, v2, ...)

根据格式字符串fmt打包值v1 , v2 , ... 。返回值是对值进行编码的字节对象。

struct.pack_into(fmt, buffer, offset, v1, v2, ...)

根据格式字符串fmt将值v1 , v2 , ... 打包 到从offset开始的缓冲区中。偏移量可能是负数,从缓冲区的末尾开始计数。

struct.unpack(fmt, data)

根据格式字符串fmt从数据中解包。返回值是解包值的元组。

struct.unpack_from(fmt, data, offset=0, /)

根据格式字符串 fmt从offset开始的数据中解包。偏移量可能是负数,从缓冲区的末尾开始计数。返回值是解包值的元组。