python struct类的使用

本文介绍了Python的struct模块,用于在Python值和C结构之间转换。内容涵盖用途,如网络传输、字节流转换、处理二进制数据和C结构体;格式化字符串,包括对齐方式和格式字符;讨论了网络字节序大小端的概念及其在socket通讯中的作用;并提供了示例代码。
摘要由CSDN通过智能技术生成

模块说明(参考官方手册):

此模块执行Python值和表示为Python 对象的C 结构之间的转换bytes。这可用于处理存储在文件中的二进制数据或来自网络连接以及其他来源。它使用 Format Strings作为C结构布局的简洁描述以及与Python值的预期转换。

注意 默认情况下,打包给定C 结构的结果包括填充字节,以便维护所涉及的C类型的正确对齐; 类似地,在拆包时考虑对齐。选择此行为是为了使压缩结构的字节与相应C 结构的内存中的布局完全对应。要处理与平台无关的数据格式或省略隐式填充字节,请使用standard大小和对齐而不是 native大小和对齐:有关详细信息,请参阅字节顺序,大小和对齐。

(1)用途

1、按照指定格式将Python数据转换为字符串,该字符串为字节流
如:网络传输时,不能传输int,此时先将int转化为字节流,然后再发送;
2、按照指定格式将字节流转换为Python指定的数据类型;
3、处理二进制数据,如果用struct来处理图片文件的话,需要使用‘rb’/‘wb’以二进制(字节流)读写的方式来处理文件;
4、处理c语言中的结构体;

(2)格式化字符串

对齐方式:

默认情况下,C类型以机器的本机格式和字节顺序表示,并在必要时通过跳过填充字节进行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值