美文网首页
python处理二进制数据

python处理二进制数据

作者: jackzhoud | 来源:发表于2017-04-27 09:48 被阅读0次

struct

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

struct Header

{

    unsigned short id;

    char[4] tag;

    unsigned int version;

    unsigned int count;

}

unpack

将二进制数据流解析为常用的数据类型,例如:

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|

相关文章

  • File文件读写

    一、python3读文本 二、处理二进制文件 使用struct来解析二进制数据 三、设置文件的缓冲 python文...

  • Python中 struct使用

    有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的str...

  • 7.python3编码问题

    1.python 的文本数据和二进制数据 python的文本数据为String(默认编码utf-8),二进制数据为...

  • python处理二进制数据

    struct 处理二进制数据离不开python的struct模块,struct理解上你可以把它理解为c语言的结构体...

  • nodejs基础

    Buffer: 处理二进制数据 二进制数据的获取 文件数据 网络数据 二进制数据的可读性:base64 Base6...

  • 2018-06-30 Python Struct

    Python使用struct处理二进制 例如: import struct a = 20 b = 400 s = ...

  • 第六章:数据编码与处理

    本章的重点是利用Python来处理各种常见的编码形式所呈现的数据;比如CSV文件,JSON,XML以及二进制形式的...

  • Python数据处理&可视化学习指南

    Python数据处理指南 Python数据可视化指南

  • 爬虫二:常用库

    requests库 传递URL参数 处理二进制数据 以图片为例 json数据处理 原始数据处理(此方式节约内存) ...

  • python基础知识入门1

    python入门 基本的数据类型 在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/jzdgzttx.html