python模块 -- struct模块

struct模块:将一组简单数据进行打包,转化为bytes格式发送。或者将一组bytes格式数据,进行解析。

Struct(fmt)
功能:生成结构化对象
参数:fmt 定制的数据结构

st.pack(v1,v2,v3...)
功能:将一组数据安装指定格式打包转换为bytes
参数:要打包的数据
返回只:bytes字节串

st.unpack(bytes_data)
功能:将bytes字节串按照指定的格式解析
参数:要解析的字节内容
返回值:解析后的内容

st.pack(fmt,v1,v2,v3,....)
功能:将给出的数据按照fmt给定格式打包成字节流

st.unpack(fmt, data)
功能:将字节流数据按照给定格式解析,返回解析后数组组成的元组

常见格式:
格式      Python类型        标准尺寸
c       1个字节长度          1
ns      n个字符              n
i       整数                 4
f       浮点                 4
"""
 i用于整数,占4个字节
 s用于字符,4s表示4个字符长度
 f用于浮点数,占4个字节
 
"""
>>> import struct
>>> st=struct.Struct('i4sf')           
>>> data=st.pack(1001,'Lisi'.encode() ,1.70)  # 按i4sf打包数据
>>> print(data)                               # 输出打包后的字节数组
b'\xe9\x03\x00\x00Lisi\x9a\x99\xd9?'
>>> id,name,height=st.unpack(data)            # 按i4sf解包数据
>>> print("id=%d,name=%s,height=%f" % (id,name.decode(),height))   # 输出解包后的数据
id=1001,name=Lisi,height=1.700000

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值