带类型的结构序列化/反序列化

typestruct的Python项目详细描述


类型结构

这是一个python 3库amis,使标准模块struct更易于使用。

示例

@dataclassclassICMPPacket(Packet):ttype:uint8code:uint8checksum:uint16rest:Slice(4)packet=ICMPPacket(1,2,3,b"abcd")binary=packet.serialize()print(binary)# => b'\x01\x02\x03\x00abcd'recovered=ICMPPacket.deserialize(binary)print(recovered)# => ICMPPacket(ttype=1, code=2, checksum=3, rest=b'abcd')print(packet.serialize(endian=Endian.BIG_ENDIAN))# => b'\x01\x02\x00\x03abcd'

可变长度

@dataclassclassTLV(Packet):tag:uint8length:uint8value:Varlength(lambdas:s.length)tlv=TLV(tag=1,length=5,value=b"abcde")binary=tlv.serialize()print(binary)# => b'\x01\x05abcde'recovered=TLV.deserialize(binary)print(recovered)# => TLV(tag=1, length=5, value=b'abcde')

许可证

麻省理工学院

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java基于前导词增加字符串中的数字   java为什么“<”显示为&lt;   java使用Spring以编程方式创建SQL语句   获取Java类的可用成员的名称   java登录后使用spring安全性重定向到特定URL   java@TransactionalEventListener(fallbackExecution=true)在提交之前运行   java DalvikVM垃圾收集器会停止整个VM吗?   MarkLogic:将MapObject从Java传递到XQuery   集合中每个项的java异步调用   JavaApacheWicket:如何将PropertyModel添加到checkbox对象   java RGB到CIE颜色转换   java我如何保持J________;方法的大小和位置不与JFrame保持关联?   java希望从文本文件中随机选择word,而不是从文本文件中打印所有内容   安卓 Java。lang.classcastexception linearlayout。layoutParams不能强制转换为framelayout。布局参数