是否有像Ruby的BinData一样好用的Python解决方案,可以读取用户定义的二进制文件/流格式?如果没有,那么除了使用struct模块之外,在Python中完成这项任务的首选方法是什么?
我有一个存储“事件记录”的二进制文件。记录的大小是动态的,因此我必须读取每个记录的前几个字节以确定记录的长度和记录类型。不同的记录类型将具有不同的字节布局。例如,类型为“警告”的记录可能包含三个4字节int,后跟一个128字节值,而类型为“信息”的记录可能只有五个4字节int。
定义不同的记录类型及其结构的方式最好是这样的:我只需将二进制数据块传递给某个东西,它就可以处理剩下的事情(对象生成等)。简而言之,您正在定义如何解释二进制数据的模板/映射。
struct
模块吗? - Santa