首页 > 学院 > 开发设计 > 正文

python中struct用法

2019-11-14 17:45:40
字体:
来源:转载
供稿:网友

 

下面就介绍这个模块中的几个方法。

struct.pack():我的理解是,python利用 struct模块将字符(比如说 int,long ,unsized int 等)拆成 字节流(用十六进制表示),便于传输。

其函数原型为:struct.pack(fmt, v1, v2, ...),fmt表示的是类型,后面的V1 V2..参数有多少,那么对应的类型数量就有多少。

>>> import struct>>> x=10>>> y=20>>> str=struct.pack('ii',x,y)>>> PRint str>>>>>> print repr(str)'/n/x00/x00/x00/x14/x00/x00/x00'  #小端法

需要说明的是:小端法表示:最高有效字节在最前面,参见 《深入理解计算机系统P26》

                  用十六进制表示十进制数的时候,一个字节的值域是00~FF。

 

为了同c中的结构体交换数据,还要考虑有的c或c++编译器使用了字节对齐,通常是以4个字节为单位的32位系统,故而struct根据本地机器字节顺序转换.可以用格式中的第一个字符来改变对齐方式.定义如下:

 

struct.unpack():我的理解是将被拆成的字节流进行一个重新组装成int类型

>>> x1,y1=struct.unpack('ii',str)>>> print 'x1:' ,x1x1: 10>>> print 'y1:' ,y1y1: 20>>>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表