Py学习  »  Python

如何在Python构造中推断数据结构字段的值?

ralien • 5 年前 • 1346 次点击  

construct Python库:

Tlv = Struct(
    'tag' / Int16ub,
    'length' / Int32ub,
    'value' / Array(this.length, Byte)
    )

if __name__ == '__main__':
    tlv_data = dict(tag=1, length=5, value=b'\xFF\xFF\xFF\xFF\xFF')
    encoded = Tlv.build(tlv_data)
    print(encoded)
    decoded = Tlv.parse(encoded)
    print(decoded)

虽然示例正确地编码和解码了数据,但我需要知道 value 提前进场并通过 length 参数。

是否有一种方法允许我通过传递最小值来初始化结构,即。, tlv_data = dict(tag=1, value=b'\xFF\xFF\xFF\xFF\xFF') 并让它自己弄清楚 字段应该是?

同时,当我解析原始数据时,我希望它从原始数据中提取长度,然后确保 确实有那么多字节长。

这在原则上是有效的,还是我误解了 ?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53723
 
1346 次点击  
文章 [ 1 ]  |  最新文章 5 年前