Python处理字节串:struct.pack和struct.unpack使用

 更新时间:2024年01月20日 10:33:03   作者:Robin_Pi  
这篇文章主要介绍了Python处理字节串:struct.pack和struct.unpack使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1. struct

struct是用来解决bytes和其他二进制数据类型的转换的模块,它使得流的操作变得非常简单,完美解决了Python没有字节数据类型的尴尬。

主要功能:

  • Python数据类型 ——> “字节串”
  • “字节串” ——> Python数据类型

struct.pack

struct的pack函数把任意数据类型变成bytes

使用格式:

struct.pack(format, v1, v2, ...)

其中,format为设置的构建格式,后面有几个输入的值,就设置几个格式字符(后文2.2,当然也可以额外增加2.1的格式)。

例子:

struct.pack('>I', 10240099)

返回生成的字节串b'\x00\x9c@c'

struct.unpack

unpack把bytes变成相应的Python数据类型

使用格式:

struct.unpack(format, buffer)

其中,format为设置的构建格式,这个部分与pack有所不同。

例子:

struct.unpack('>IH', b'\xf0\xf0\xf0\xf0\x80\x80')

返回一个元组(4042322160, 32896)

2. 格式

格式字符串是用来在打包和解包数据时指定预期布局的机制。

它们使用指定被打包/解包数据类型的格式字符 进行构建。

此外,还有一些特殊字符用来控制 字节顺序,大小和对齐方式。

2.1 字节顺序,大小和对齐方式

在这里插入图片描述

注:

1、本机字节顺序可能为大端或是小端,取决于主机系统的不同

2、标准大小仅取决于格式字符

2.2 格式字符

在这里插入图片描述

参考: Python 官方文档:struct — 将字节串解读为打包的二进制数据

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python微信好友数据分析详解

    python微信好友数据分析详解

    这篇文章主要为大家详细介绍了python微信好友数据分析,实现对微信好友的获取,并对省份、性别等数据分析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • python爬虫实例详解

    python爬虫实例详解

    这篇文章主要为大家详细介绍了python爬虫实例,包括爬虫技术架构,组成爬虫的关键模块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Tensorflow 卷积的梯度反向传播过程

    Tensorflow 卷积的梯度反向传播过程

    今天小编就为大家分享一篇Tensorflow 卷积的梯度反向传播过程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 对python中UDP,socket的使用详解

    对python中UDP,socket的使用详解

    今天小编就为大家分享一篇对python中UDP,socket的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Flask项目搭建及部署(最全教程)

    Flask项目搭建及部署(最全教程)

    本文主要介绍了Flask项目搭建及部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • python重试装饰器示例

    python重试装饰器示例

    python 写一些网络服务的时候总会抛出一些异常,当前任务就被终止了,利用@装饰器,写一个重试的装饰器,下面是实现示例,需要的朋友可以参考下
    2014-02-02
  • 使用Pytorch来拟合函数方式

    使用Pytorch来拟合函数方式

    今天小编就为大家分享一篇使用Pytorch来拟合函数方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

    Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

    Python 是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python 能够帮助我们快速处理、分析数据并生成高质量的可视化图表,本文将详细介绍 Python 中的数据分析与可视化的基础知识,并结合丰富的示例和技巧,帮助读者深入理解这些概念
    2025-06-06
  • Python中Async语法协程的实现

    Python中Async语法协程的实现

    这篇文章主要介绍了Python中Async语法协程的实现,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • 对python插入数据库和生成插入sql的示例讲解

    对python插入数据库和生成插入sql的示例讲解

    今天小编就为大家分享一篇对python插入数据库和生成插入sql的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11

最新评论