有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用struct来处理c语言中的结构体.
struct模块中最重要的三个函数是pack(), unpack(), calcsize()
pack(fmt, v1, v2, ...) 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)
unpack(fmt, string) 按照给定的格式(fmt)解析字节流string,返回解析出来的tuple
calcsize(fmt) 计算给定的格式(fmt)占用多少字节的内存
struct中支持的格式如下表:
> 格式
c类型
python类型
> x
char
无(表示填充字节)
> c
char
长度为1的字符串
> b
signed char
integer
> B
unsigned char
integer
> h
short
integer
> H
unsigned short
integer
> i
int
integer
> I
unsigned int
long
> l
long
integer
> L
unsigned long
long