解包字节编码消息的推荐“pythonic方式”是什么?

时间:2017-04-27 21:20:03

标签: python bytebuffer unpack

假设我有一个带有以下模式的字节打包消息:

sudo yum install python35u-devel.x86_64

将字节序列转换为python变量的推荐pythonic方法是什么? “struct”模块是否可以很好地解压缩具有任意位长字段的字节数组?

1 个答案:

答案 0 :(得分:2)

  

将字节序列转换为python变量的推荐pythonic方法是什么?

这个问题很快就会被关闭。你想要的是阅读this python doc page about struct and bytearrays

它将向您展示如何使用格式packunpack数据。

  

" struct"模块是否可以解压缩具有任意位长字段的字节数组?

它将向您展示如何使用格式packunpack数据。

是的,如下:

import struct
color, radius, new = struct.unpack("If?", incoming_bytes)

检查format characters以定义格式字符串,然后完成。

您可以使用更加臃肿的库,例如construct,但TBH,此格式非常简单,如果您unpack提前pack晚,您可以自由组织您希望在代码中使用数据。

e.g:

class Ball:
    def __init__(self, color, radius, new):
        self.color = color
        self.radius = radius
        self.new = new

Ball(*unpack("If?", incoming_bytes))