python struct.struct,python struct.pack用法

  python struct.struct,python struct.pack用法

  struct模块执行Python值与Pythonbytes表示的C结构之间的转换,后者可用于处理存储在文件中或来自网络连接和其他来源的二进制数据。下面是Python如何使用struct库。有兴趣的朋友来看看吧。

  00-1010 STRUCT简介:structure.pack (Format:STR,V1,V2…)structure . unpack(format : str,buffer 3360 bytes)structure . calc size(format 3360 str)格式参数的用法数据描述符

  

目录

 

  英语单词struct你应该很熟悉,因为c/c里面有struct,这里struct叫结构。Python中也使用了struct,充分说明这个struct应该和C/C中的struct有很深的关系,Python使用struct模块进行Python值和C结构之间的转换,从而形成Python字节对象。它使用格式字符串作为底层C结构的紧凑描述,然后根据这个格式字符串将其转换为Python值。

  准确地说,Python并不专门处理字节数据类型。但是因为bstr 可以表示字节,所以字节数组=二进制str。在C语言中,我们可以很容易地使用struct和union来处理字节,以及字节与int和float之间的转换。

  因此,提供了一个用于转换的库。

  

struct简介

 

  

常用函数

 

  根据格式封装v1、v2等参数。

  导入结构

  结果=[1,2,3,4,5]

  print([struct.pack(B ,x) for x in result])

  # [bx01 ,bx02 ,bx03 ,bx04 ,bx05]

  

struct.pack(format:str, v1, v2, …)

 

  以注意结果是一个数组格式解包缓冲区数据

  导入结构

  result=bytes . from hex( 10002030000000 )

  print(struct.unpack(BHI ,结果))

  # (16, 8192, 48)

  上面的代码根据小端序列进行解析。

  10被分解成16个。

  0020解析为0x000x20 * 256=32*256=8192。

  30000000分解为0x300x0 * 2560x0 * 160x0 * 256=48。

  

struct.unpack(format:str,buffer:bytes)

 

  根据格式计算这个格式的大小。

  导入结构

  print(struct . calc size( BHI ))# 7

  b为1字节,H为2字节,I为4字节,共7字节。

  

struct.calcsize(format:str)

 

  

format参数的用法

 

  Atc类型python字节数xpad字节无1 charint1 b无符号charint 1?boolbool 1 hs short int 2 hun signed short int 2 intint 4 I unsigned intin 4 long int 4 qlong long long int 8 qu signed long long long int 8 ffaloat float 4 DD doublefloat 8 schar[]bytes 1 pchar[]bytes 1 PV oid * int 0

  

数据

 

  字符OrderSizeAlignment @ Native Native Native填满4个字节=nativestandard不变little-endianstandard不变big-endianstandard不变!网络标准保持不变。这篇关于Python对Strut库的使用总结的文章就介绍到这里。关于Python使用Strut库的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: