Как вы распаковываете байты, сжатые с помощью алгоритма Лемпеля-Зива Харуясу в .NET?

#.net

#.net

Вопрос:

Как вы распаковываете один из этих форматов LZH в .NET (подсказка: я бы предпочел использовать уже реализованную функциональность, вместо реализации, если это возможно).

Ситуация, в которой я нахожусь, заключается в том, что сервер отправляет мне XML-документ; этот документ содержит некоторые сжатые данные в кодировке Base64.

После получения байтов из XML я слепо пытался DeflateStream , надеясь, что это сработает. Это не сработало; он вернул «InvalidDataException — неизвестный тип блока. Поток может быть поврежден» ошибка, и я не знаю, куда идти дальше.

Ответ №1:

Существует утилита, которую вы можете вызвать из своего приложения (не бесплатно, но и не дорого) по адресу:

Link1

В CodeProject есть статья о компоненте, который вы могли бы использовать в:

Link2

Комментарии:

1. Разве они не предназначены для распаковки реальных файлов lzh с заголовками и еще много чего? У меня есть массив байтов, к которому был применен только алгоритм. Извините, если я неясен — недостаток знаний с моей стороны.