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 回答