Python没有专门处理字节的数据类型。但由于str既是字符串,又可以表示字节,所以,字节数组=str。而在C语言中,我们可以很方便地用struct、union来处理字节,以及字节和int,float的转换。
Python提供了一个struct模块来解决str和其他二进制数据类型的转换。
# 1.1 struct.pack(fmt,v1,v2,.....)
# 将v1,v2等参数的值进行一层包装,包装的方法由fmt指定。被包装的参数必须严格符合fmt。最后返回一个包装后的字符串。
# 1.2 struct.unpack(fmt,string)
# 顾名思义,解包。比如pack打包,然后就可以用unpack解包了。返回一个由解包数据(string)得到的一个元组(tuple), 即使仅有一个数据也会被解包成元组。其中len(string) 必须等于 calcsize(fmt),这里面涉及到了一个calcsize函数。struct.calcsize(fmt):这个就是用来计算fmt格式所描述的结构的大小。 格式字符串(format string)由一个或多个格式字符(format characters)组成也可以说 unpack把str变成相应的数据类型。
struct模块定义的数据类型如下:
![](https://img.haomeiwen.com/i10196679/64aa6388a6bb57c0.png)
网友评论