Подтвердить что ты не робот

Библиотека бесплатного сжатия для С#, которая поддерживает 7zip (LZMA)

У меня есть программа (написанная на С#), которая напрямую считывает/записывает свои данные (прямой доступ к файлам без сервера) в файлы базы данных firebird. Для лучшего обмена я хочу (un) сжимать их при импорте/экспорте для лучшего обмена через Интернет без необходимости внешней программы (un) сжимать их.

Я знаю # ziplib, который поддерживает Zip, GZip, Tar и BZip2.

Какие еще бесплатные библиотеки сжатия для С# вы знаете? Есть ли библиотека .NET, которая поддерживает LZMA, поэтому я могу читать/записывать файлы ".7z"?

4b9b3361

Ответ 1

Есть хорошая статья, написанная Питером Бромбергом:

7Zip (LZMA) сжатие в памяти с помощью С#

Показывает простой класс С# SevenZip.Compression.Lzma.SevenZipHelper для включения высокой степени сжатия объектов в памяти с помощью С#. Добавляет новый класс LZMA Cookie Compression формата 7Zip к ранее опубликованной утилите CookieCompression.

Ответ 2

7-zip имеет бесплатный исходный код, общедоступный С# SDK для алгоритма LZMA:

http://www.7-zip.org/sdk.html

Ответ 3

Вы можете попробовать SevenZipSharp

Ответ 5

Если вы пишете отдельные файлы, вы можете просто рассматривать его как поток и использовать встроенный GZipStream/DeflateStream (хотя в некоторых тестах я сделал #ZipLib, внедрил MS-предложение для обоих коэффициентов и скорости). Или есть встроенная поддержка zip где-то в рамках. Однако я не знаю о LZMA.

Ответ 6

Остерегайтесь: GZipStream имеет ограничение по размеру 4Gb