Python 的结构体函数 struct pack, unpack 用法详解
Python 详解 函数 用法 结构 struct pack
2023-09-11 14:17:11 时间
一 python 结构体
* python struct 模块可以用来在存储二进制文件,广泛用在文件系统,网络连接领域。
* 它可以用在c语言和python语言之间的数据的格式转换。
二 Python Struct Functions
这里有5个重要的数据结构模块函数:pack(),unpack(),calcsize(),pack_info()和unpack_from(). 这些函数一般用来把其他文件转成二进制文件.
常用的数据格式有:
?: boolean
h: short
l: long
i: int
f: float
q: long long int
三 函数:Python struct.pack()
这个函数的作用就是把一系列植包装成字符串:输入参数必须要和输入格式严格匹配:
example:
import struct var = struct.pack('hhi',5,6,15) print(var) var = struct.pack('iii',19,20,25) print(var)
结果:
b'\x05\x00\x06\x00\x0f\x00\x00\x00' b'\x13\x00\x00\x00\x14\x00\x00\x00\x19\x00\x00\x00'
四 函数:Python struct.unpack()
函数unpack的作用是把变量转换成特定格式的初始化模样。这个函数一直返回一个: tuple 结构体,哪怕是只有一个变量。下面是unpack的一个例子:
import struct var = struct.pack('hhi',5,6,15) print(var) ivar = struct.unpack('hhi',var) print(ivar)
很明显,需要在入参中输入需要转换的原始变量的类型才行:
b'\x05\x00\x06\x00\x0f\x00\x00\x00' (5, 6, 15)
五 函数:Python struct calcsize()
该函数的作用是计算和返回特定字符串的长度,如下所示:
import struct var = struct.pack('hhi',5,6,15) print(var) print("Size of the string representation:%{}.".format(struct.calcsize('hhi')))
结果:
b'\x05\x00\x06\x00\x0f\x00\x00\x00' Size of the string representation:%8.
相关文章
- Python+NumPy绘制常见曲线的方法详解_python
- python执行脚本加参数_命令行运行Python脚本时传入参数的三种方式详解以及argparse子命令subparsers()方法
- python是否存在某个字符串 效率最高_Python中判断子串存在的性能比较及分析总结...
- Python kafka操作实例(kafka-python)
- Python sorted函数详解
- 掌握Python语言能做什么?python对小白友好吗?
- python内置函数bytearray用法详解
- python中getattr()函数用法详解
- python中reduce()函数用法详解
- python中raise方法用法详解
- python中defaultdict用法详解
- python内置函数map()函数用法详解
- python函数用法详解2(变量的作用域(全局变量、局部变量)、共享全局变量、函数返回值、函数的参数(位置参数、关键字参数、默认参数、不定长参数)、拆包、交换变量值、引用、可变和不可变类型)
- 将自己OpenCV-Python-PyCharm开发环境的Python-3.6.8更换为python-3.9.10的详细过程记录
- 详解Python-Numpy库的函数diagonal()【并附函数diagonal()与函数diag()的区别】
- python random随机生成详解
- python print 函数详解
- python format格式化函数详解
- python接口自动化: logger 日志 - 上(超详解)
- 超详细,少数人才知道的 Python 函数定义详解
- 《精通Python网络爬虫:核心技术、框架与项目实战》——第二篇 Part 2核心技术篇 第3章 网络爬虫实现原理与实现技术 3.1 网络爬虫实现原理详解
- python学习之OpenCV-Python模块的部分应用示例(生成素描图和动漫图)
- linux下安装python dlib依赖
- 『 迷你教程 』Python中的函数式编程全方法详解
- 数据科学必备在Python中生成随机数据及安全性详解
- Python 实现被动收入教程之我如何使用 python 制作我的第一个高级telegram机器人
- Python 教程之如何使用 matplotlib 在 python 中绘制数学函数
- 小学生python编程---忍者大战
- Python 基础 之 python 协程知识点整理,并实现一个简单 gevent 的协程并发图片下载的应用
- 【Python】模块详解/如何安装模块的方法