python struct_python中struct.pack()和unpack()的应用

python中的struct主要是用来处理C结构数据的,读入时先转换为Python的字符串类型,
然后再转换为Python的结构化类型,比如元组(tuple)啥的。一般输入的渠道来源于文件或者网络的二进制流。
struct.pack()和struct.unpack()
  • struct.pack(fmt,v1,v2,.....)
 将v1,v2等参数的值进行一层包装,包装的方法由fmt指定。被包装的参数必须严格符合fmt。
最后返回一个包装后的字符串。

比如:

INFO = ['lxx',18,'female','183']
value = socket.htonl(len(INFO))   # 将主机字节顺序转换为网络字节顺序
size = struct.pack('L',value)
  • struct.unpack(fmt,string)

解包,返回一个由解包数据(string)得到的元组(tuple)。其中,len(string) 必须等于 calcsize(fmt),这里面涉及到了一个calcsize函数。struct.calcsize(fmt):这个就是用来计算fmt格式所描述的结构的大小。

格式字符串(format string)由一个或多个格式字符(format characters)组成,对于这些格式字符的描述参照Python manual如下:

2e1c2e46e87f48d77db8d0a19ac33f79.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值