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)