python struct pack解析_Python 的结构体函数 struct pack, unpack 用法详解

一 python 结构体

* python struct 模块可以用来在存储二进制文件,广泛用在文件系统,网络连接领域。

*  它可以用在c语言和python语言之间的数据的格式转换。

二  Python Struct Functions

这里有5个重要的数据结构模块函数:pack(),unpack(),calcsize(),pack_info()和unpack_from(). 这些函数一般用来把其他文件转成二进制文件.

常用的数据格式有:

?: boolean

h: short

l: long

i: int

f: float

q: long long int

三 函数:Python struct.pack()

这个函数的作用就是把一系列植包装成字符串:输入参数必须要和输入格式严格匹配:

example:

importstruct

var= struct.pack('hhi',5,6,15)print(var)

var= struct.pack('iii',19,20,25)print(var)

结果:

b'\x05\x00\x06\x00\x0f\x00\x00\x00'b'\x13\x00\x00\x00\x14\x00\x00\x00\x19\x00\x00\x00'

四 函数:Python struct.unpack()

函数unpack的作用是把变量转换成特定格式的初始化模样。这个函数一直返回一个: tuple 结构体,哪怕是只有一个变量。下面是unpack的一个例子:

importstruct

var= struct.pack('hhi',5,6,15)print(var)

ivar= struct.unpack('hhi',var)print(ivar)

很明显,需要在入参中输入需要转换的原始变量的类型才行:

b'\x05\x00\x06\x00\x0f\x00\x00\x00'(5, 6, 15)

五 函数:Python struct calcsize()

该函数的作用是计算和返回特定字符串的长度,如下所示:

importstruct

var= struct.pack('hhi',5,6,15)print(var)print("Size of the string representation:%{}.".format(struct.calcsize('hhi')))

结果:

b'\x05\x00\x06\x00\x0f\x00\x00\x00'Size of the string representation:%8.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值