美文网首页
Python中 struct使用

Python中 struct使用

作者: 忘了呼吸的那只猫 | 来源:发表于2021-04-12 14:35 被阅读0次

有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用pythonstruct模块来完成.可以用 struct来处理c语言中的结构体.

struct模块中最重要的三个函数是

  • pack(),
    pack(fmt, v1, v2, ...) 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)
  • unpack(),
    unpack(fmt, string) 按照给定的格式(fmt)解析字节流string,返回解析出来的tuple
  • calcsize()
    calcsize(fmt) 计算给定的格式(fmt)占用多少字节的内存

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

常用:

import struct
a = 12.34
#将浮点数a变为二进制
bytes = struct.pack('f',a)
#转换回float
floats = struct.unpack('f', bytes)

b=10
#将整数b变为二进制
bytes = struct.pack('i',b)
#转换回int
int = struct.unpack('i', bytes)

相关文章

  • Python中 struct使用

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

  • struct模块简介

    struct简介 使用struct可以在python数值和C的结构之间进行转换,表示方式为Python strin...

  • 2018-06-30 Python Struct

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

  • python struct使用

    struct 官方解释:Interpret strings as packed binary data. 具体作用...

  • 时间模块

    python 中 time 有三种格式: float struct tuple(time.struct_time ...

  • 十.Go结构struct

    结构struct Go中的struct与C中的struct相似,并且go没有class 使用type 结构名称 s...

  • 《日子》golang-结构struct

    结构struct -Go中的struct与C中的struct非常相似,并且Go没有class-使用type

  • Python中Struct模块

    Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8...

  • python 中struct介绍

    参考

  • 10 结构体struct

    Go 中的struct与C中的struct非常相似,并且Go没有class使用 type struc...

网友评论

      本文标题:Python中 struct使用

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