我正在尝试解析二进制文件,但我无法弄清楚如何正确使用BinData。
二进制文件的设置方式如下:
- 前4个字节(UINT32)表示属性名称的长度。
- next 8 * length表示属性名称(作为字符串)。
- 接下来的4个字节(UINT32)表示属性类型的长度。
- next 8 * length表示属性类型(作为字符串)。
- 接下来的8个字节(UINT64)表示数据的长度。
- 之后,数据可以是任意数量的字节(取决于它是什么类型的数据,可以是int(4),string(4 * len),float(4)或数组)。
醇>
在此之后,该过程将重复下一个属性。
我想我的问题是:
-
当我调用MyBinDataClass.read()时,我如何向它提供正确的读取部分而不是整个文件,因为我不知道每个属性到底有多长(它们因类型而异),我怎么能把它分开呢?
-
如何使单个BinData处理不同的属性类型?
醇>