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中lxml模块的使用详解

    python中lxml模块的使用详解

    lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高,这篇文章主要来和大家讲解一下lxml模块的使用,感兴趣的可以了解一下
    2023-08-08
  • python字符串替换第一个字符串的方法

    python字符串替换第一个字符串的方法

    这篇文章主要介绍了python字符串替换第一个字符串的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • PYQT5 实现界面的嵌套方式

    PYQT5 实现界面的嵌套方式

    这篇文章主要介绍了PYQT5 实现界面的嵌套方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python实现简单的文本相似度分析操作详解

    Python实现简单的文本相似度分析操作详解

    这篇文章主要介绍了Python实现简单的文本相似度分析操作,结合实例形式分析了Python基于分词API库jieba及文本相似度库gensim针对文本进行相似度分析操作的实现技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • Python使用try except处理程序异常的三种常用方法分析

    Python使用try except处理程序异常的三种常用方法分析

    这篇文章主要介绍了Python使用try except处理程序异常的三种常用方法,结合实例形式分析了Python基于try except语句针对异常的捕获、查看、回溯等相关操作技巧,需要的朋友可以参考下
    2018-09-09
  • django数据库migrate失败的解决方法解析

    django数据库migrate失败的解决方法解析

    这篇文章主要介绍了django数据库migrate失败的解决方法解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python聊天室实例程序分享

    Python聊天室实例程序分享

    这篇文章主要为大家分享了Python Socket编程之聊天室示例程序代码,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 对Python3 pyc 文件的使用详解

    对Python3 pyc 文件的使用详解

    今天小编就为大家分享一篇对Python3 pyc 文件的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python pyautogui手动活动(模拟鼠标键盘)自动化库使用

    python pyautogui手动活动(模拟鼠标键盘)自动化库使用

    这篇文章主要为大家介绍了python pyautogui手动活动(模拟鼠标键盘)自动化库使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • python双向循环链表实例详解

    python双向循环链表实例详解

    这篇文章主要为大家详细介绍了python双向循环链表实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05

最新评论