2

我正在尝试解析二进制文件,但我不太清楚如何正确使用BinData

二进制文件的设置方式如下:

  1. 前 4 个字节 (UINT32) 表示属性名称的长度。
  2. 接下来的 8 * 长度表示属性名称(作为字符串)。
  3. 接下来的 4 个字节 (UINT32) 表示属性类型的长度。
  4. 接下来的 8 * 长度表示属性类型(作为字符串)。
  5. 接下来的 8 个字节(UINT64)代表数据的长度。
  6. 在此之后,数据可以是任意数量的字节(取决于它是什么类型的数据,可以是 int (4)、string (4 * len)、float (4) 或数组)。

在此之后,该过程对下一个属性重复。

我想我的问题是:

  1. 当我调用 MyBinDataClass.read() 时,如何将正确的部分提供给它以读取而不是整个文件,并且由于我不知道每个属性的实际长度(它们因类型而异),我该如何正确划分它?

  2. 如何让单个 BinData 处理不同的属性类型?

4

0 回答 0