Python中字节数据类型的转换

Python中没有二进制类型,但是可以存储二进制类型的数据,就是用字符串类型来存储二进制数据。通过struct模块来支持二进制的操作,struct模块中最重要的两个函数是pack()和unpack()。

pack()用于将Python值根据格式符转换为字符串(序列化),pack()的语法如下:

pack(fmt,v1,v2,...)

作用:按fmt格式把后面的数据v1,v2,...封装成指定的数据,返回一个包含了v1,v2,...的字节对象,v1,v2,...参数必须与fmt格式完全对应起来。fmt是格式字符串,v1,v2,...表示要转换的值。

unpack()与pack相反,用于将字节流转换成Python某种数据类型的值(解码,反序列化),unpack语法格式如下:

unpack(fmt,string)

作用:按照给定格式fmt解析字节流string,返回解析出来的数据所组成的元组。

例如:根据指定的格式将两个整数转换为字符串(字节流)

Import struct

a=10

b=20

buf1=struct.pack(“ii”,a,b)  #’i’代表’integer,将a,b转换为字节流

print(“buf1’slength:”,len(buf1))

ret1=struct.unpack(‘ii’,buf1)

print(buf1,’<==>’,ret1)

运行结果:

buf1’s length:8

b’\n\x00\x00\x00\x14\x00\x00\x00’ <====> (10,20)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值