Перевод обратно неизвестного двоичного файла !?Является ли это возможным? - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть программа, которая сохраняет файлы результатов в двоичном файле.В программе также возможно экспортировать файлы результатов в формат XML.

Поскольку сама программа хороша в просмотре своих результатов, я сама написала программу для чтения этих файлов результатов, но, очевидно, используя формат XML,

Проблема в том, что файлы XML, экспортируемые из двоичных файлов, огромны!в то время как двоичный файл, который может использоваться оригинальной программой, составляет около 100 КБ, тот же файл, экспортируемый в XML, составляет около 2–3 МБ.читать оригинальные двоичные файлы!

Ответы [ 2 ]

2 голосов
/ 15 декабря 2011

Чтобы получить данные из двоичного файла, вам нужно знать его структуру.Если вы не знаете структуру, я думаю, что это будет безнадежное начинание.XML-файл намного больше, потому что он содержит структуру в дополнение к данным.Вы можете прочитать и интерпретировать это.

1 голос
/ 15 декабря 2011

Вам необходимо прочитать исходный код программы, если он недоступен - откройте эту программу в ILDASM или Reflector и попытайтесь понять, как создаются двоичные файлы. Вероятно, это делается с помощью двоичной сериализации.

Вы можете определить свои собственные типы, которые являются точной копией исходных типов, включая атрибуты сериализации, и загрузить их с помощью двоичной сериализации.

Однако, каждое изменение в формате стороннего файла может потребовать от вас изменения программы. Я думаю, что лучше использовать XML.

...