0

結果ファイルをバイナリファイルに保存するプログラムがあります。プログラム内で結果ファイルを XML 形式にエクスポートすることもできます。

プログラム自体は結果を閲覧するのが苦手なので、この結果ファイルを読み取るプログラムを自分で作成しましたが、明らかに XML 形式を使用しています。

問題は、バイナリ ファイルからエクスポートされた XML ファイルが非常に大きいことです。元のプログラムで使用できるバイナリ ファイルは約 100 KB ですが、XML にエクスポートされた同じファイルは約 2 ~ 3 MB です。

元のバイナリ ファイルの読み取り方法を見つける方法があるかどうかを知りたいです。

4

2 に答える 2

2

バイナリ ファイルからデータを取得するには、その構造を知る必要があります。構造を知らなければ、これはどうしようもない試みだと思います。xml ファイルは、データに加えて構造が含まれているため、非常に大きくなります。あなたはそれを読んで解釈することができます。

于 2011-12-15T13:23:00.623 に答える
1

入手できない場合は、プログラムのソース コードを読む必要があります。このプログラムを ILDASM または Reflector で開き、バイナリ ファイルがどのように作成されるかを理解してください。おそらく、これはバイナリ シリアライゼーションを使用して行われます。

シリアライゼーション属性を含む元の型の正確なコピーである独自の型を定義し、バイナリ シリアライゼーションを使用してそれらをロードできます。

ただし、サードパーティのファイル形式が変更されるたびに、プログラムの変更が必要になる場合があります。XML を使用する方がよいと思います。

于 2011-12-15T13:23:23.833 に答える