struct
是用来解决bytes和其他二进制数据类型的转换的模块,它使得流的操作变得非常简单,完美解决了Python没有字节数据类型的尴尬。
主要功能:
struct的pack函数把任意数据类型变成bytes
struct.pack(format, v1, v2, ...)
format
为设置的构建格式,后面有几个输入的值,就设置几个格式字符(后文2.2,当然也可以额外增加2.1的格式)。struct.pack('>I', 10240099)
,返回生成的字节串b'\x00\x9c@c'
unpack把bytes变成相应的Python数据类型
struct.unpack(format, buffer)
format
为设置的构建格式,这个部分与pack有所不同。struct.unpack('>IH', b'\xf0\xf0\xf0\xf0\x80\x80')
,返回一个元组(4042322160, 32896)
格式字符串是用来在打包和解包数据时指定预期布局的机制。
它们使用指定被打包/解包数据类型的格式字符 进行构建。 此外,还有一些特殊字符用来控制 字节顺序,大小和对齐方式。
注:
1、本机字节顺序可能为大端或是小端,取决于主机系统的不同
2、标准大小仅取决于格式字符
参考: