python struct模块

当我们在 Python 中跟二进制数据打交道的时候,就要用到 struct 这个模块了。struct 模块为 Python 与 C 的混合编程,处理二进制文件以及进行网络协议交互提供了便利。



下面图片就是打包解包并用串口调试助手查看的例子。
在这里插入图片描述
struct.pack将任意类型打包成字节字符串类型,所以int类型(四个字节)的256在之后的repr或者串口助手读出来会变成 0xFF,0x00,0x00,0x00。

格式符

格式符C语言类型Python类型Standard size
xpad byte(填充字节)no value 
ccharstring of length 11
bsigned charinteger1
Bunsigned charinteger1
?_Boolbool1
hshortinteger2
Hunsigned shortinteger2
iintinteger4
I(大写的i)unsigned intinteger4
l(小写的L)longinteger4
Lunsigned longlong4
qlong longlong8
Qunsigned long longlong8
ffloatfloat4
ddoublefloat8
schar[]string 
pchar[]string 
Pvoid *long 

要注意:定义类型时候要查看c语言类型对应的数值范围。eg:h是c中short型,其最大值是32767而不是65535。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值