struct模块

struct模块

函数和异常

struct.error:异常

struct.pack(format,v1,v2,…):根据格式字符串打包,参数必须与格式所需的值匹配,返回字节对象

struct.pack_into(format, buffer, offset,v1, v2,…):根据格式字符串打包,且将其从偏移offset(必须参数)位置写入可写入的字节对象buffer.

struct.unpack(format, buffer):根据格式字符串解包,返回一个元组.

struct.unpack_from(format, buffer, offset=0):从偏移处offset开始解包

struct.iter_unpack(format, buffer):根据格式字符串格式从字节对象buffer中迭代解压缩,返回一个迭代器,字节对象大小是格式所需大小的倍数

struct.calcsize(format):返回格式字符串对应的struct大小

格式字符串

字节序,大小,对齐:

字符字节顺序大小对齐
@本地序本地本地
=本地序标准
<小端序标准
>大端序标准
!网络序(大端)标准

+ sys.byteorder可以检查本地序
+ 标准大小取决与格式字符

格式字符:

格式C类型Python类型标准大小
x填充字节no value
ccharbytes of length 11
bsignedcharinteger1
Bunsignedcharinteger1
?_Boolbool1
hshortinteger2
Hunsignedshortinteger2
iintinteger4
Iunsignedintinteger4
llonginteger4
Lunsignedlonginteger4
qlonglonginteger8
Qunsignedlonglonginteger8
nssize_tinteger本地大小
Nsize_tinteger本地大小
e(7)float2
ffloatfloat4
ddoublefloat8
schar[]bytes
pchar[]bytes
Pvoid*integer本地大小

+ 格式字符前整数表示重复计数,例如’4h’=’hhhh’,对于’s’表示单个字节字符串长度
+ 格式之间的空白字符被忽略,计数及其格式不得包含空格
+ 格式字符的排序可能会对大小产生影响,因为满足对齐要求所需的填充是不同的

class struct.Struct(format):根据格式字符串读取二进制数据,更高效,格式字符只需要编译一次,方法功能与函数相同,不需要传入格式字符串
    pack()
    pack_into()
    unpack()
    unpack_from()
    iter_unpack()
    format
    size
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WY_记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值