1. Python 提供了三个与 pack 和 unpack 相关的函数:
pack 同的变量打包在一起,成为一个字节字符串
unpack 将字节字符串解包成为变量。
calsize 计算按照格式 fmt 打包的结果有多少个字节。
例子:
import struct a = struct.pack("2I3sI", 12, 34, "abc", 56) 前面是格式 ,后面是要打包的变量 b = struct.unpack("2I3sI", a) print b print struct.calcsize("2I3sI") # 16
h,c,s,t,l = struct.unpack("!HBI8sH",headData)
2. format 函数
ormat 函数可以接受不限个参数,位置可以不按顺序。
"{1} {0} {1}".format("hello", "world") # 设置指定位置
输出结果 : 'world hello world'
tlen=l
ufmt="!{0}B".format(tlen) //这么做的目的是因为 unpack 需要指定格式,这里获取长度
data3=struct.unpack(ufmt,data1)