バイナリ ファイルを解析しようとしていますが、BinDataを正しく使用する方法がわかりません。
バイナリのセットアップ方法は次のようになります。
- 最初の 4 バイト (UINT32) は、プロパティ名の長さを表します。
- 次の 8 * 長さは、プロパティ名を (文字列として) 表します。
- 次の 4 バイト (UINT32) は、プロパティ タイプの長さを表します。
- 次の 8 * 長さは、プロパティ タイプを (文字列として) 表します。
- 次の 8 バイト (UINT64) は、データの長さを表します。
- この後、データは任意のバイト数になる可能性があります (データのタイプに応じて、int (4)、string (4 * len)、float (4)、または配列)。
この後、プロセスは次のプロパティで繰り返されます。
私の質問は次のとおりです。
MyBinDataClass.read() を呼び出すとき、ファイル全体ではなく、読み取る正しい部分をどのようにフィードするのですか? また、各プロパティが実際にどのくらいの長さなのかわからないため (タイプによって異なります)、どうすれば適切に分割できますか? ?
単一の BinData でさまざまなプロパティ タイプを処理するにはどうすればよいですか?