Python中的struct模块是用来处理字节序列的工具,它能够把不同的数据类型转换成二进制字节序列,或者把已经编码的字节序列进行解码。
有两个重要的函数:
pack(fmt, v1, v2, …) 将指定的值按指定的格式(fmt)进行打包,并返回打包后的二进制数据。
unpack(fmt, buffer) 按照指定的格式(fmt)从缓冲区中读取数据,并返回一个元组。
其它函数:
calcsize(fmt):返回该格式(fmt)所需的缓冲区大小。
pack_into(fmt, buffer, offset, v1, v2, …):与pack()函数类似,但是可以自己定义缓冲区的长度和偏移量。
unpack_from(fmt, buffer, offset=0):与unpack()函数类似,但可以自己定义缓冲区的长度和偏移量。
iter_unpack(fmt, buffer):将缓冲区中的数据按指定的格式(fmt)拆分成多个元组,并返回一个迭代器对象。
pack_int(value, size, big_endian=False, signed=False):将整数按给定的字节大小、大小端模式和符号处理方式进行打包,返回打包后的二进制数据。
unpack_int(data, big_endian=False, signed=False):将给定的二进制数据解包成整数,并返回解包后的整数。
unpack_bits(data):将给定的二进制数据解包成位(bit)的列表,并