广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python处理二进制数据
  • 793
分享到

python处理二进制数据

二进制数python 2023-01-31 05:01:54 793人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

处理二进制数据离不开python的struct模块,struct理解上你可以把它理解为C语言的结构体,使用该模块的pack和unpack方法,可以很容易的把二进制数据转换为常用的类型数据,如整型、字符型等 结构体如下: str

处理二进制数据离不开python的struct模块,struct理解上你可以把它理解为C语言的结构体,使用该模块的pack和unpack方法,可以很容易的把二进制数据转换为常用的类型数据,如整型、字符型等
结构体如下:

struct Header

{

    unsigned short id;

    char[4] tag;

    unsigned int version;

    unsigned int count;

}

unpack

将二进制数据流解析为常用的数据类型,例如:
Python
arsc_file = open(file, "rb") #二进制读取文件
data = arsc_file.read(12) #读取12字节
table_type_2,head2,file4,package4 = struct.unpack("2H2I", data)
#将这12个字节分拆为2个unsigned short(H)和2个unsigned int(I)类型数据

pack

把常用的数据类型打包成二进制数据,例如:

new_head2 = 2                                           
head2 = 1
file4 = 8                                           
new_data = struct.pack("2H2I4H", table_type_2, new_head2, file4, package4,head2,head2,head2,head2)  
#把常用的类型数据转换二进制流,参数一是二进制流格式组成

struct里面规定的数据类型表

FORMat C Type Python 字节数
x pad byte no value 1
c char string of length 1 1
b signed char integer 1
B unsigned char integer 1
? _Bool bool 1
h short integer 2
H unsigned short integer 2
i int integer 4
I unsigned int integer or long 4
l long integer 4
L unsigned long long 4
q long long long 8
Q unsigned long long long 8
f float float 4
d double float 8
s char[] string 1
p char[] string 1
P void * long

--结束END--

本文标题: python处理二进制数据

本文链接: https://www.lsjlt.com/news/188940.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作