Biblioteca de compresión gratuita para C # que admite 7zip (LZMA) [cerrado]
-
19-08-2019 - |
Pregunta
Tengo un programa (escrito en C #) que lee / escribe sus datos directamente (acceso directo a archivos sin servidor) en los archivos de la base de datos de Firebird. Para un mejor intercambio, quiero (des) comprimirlos en la importación / exportación para un mejor intercambio en Internet sin la necesidad de un programa externo para (des) comprimirlos.
Sé #ziplib que admite Zip, GZip, Tar y BZip2.
¿Qué otras bibliotecas de compresión gratuitas para C # conoces? ¿Existe una biblioteca .NET que admita LZMA para poder leer / escribir ".7z"? archivos?
Solución
Hay un buen artículo escrito por Peter Bromberg:
Compresión en memoria 7Zip (LZMA) con C #
Muestra un C # simple
SevenZip.Compression.Lzma.SevenZipHelper
clase para permitir alta compresión de objetos en memoria con C #. Agrega un nuevo 7 Compresión de cookies LZMA en formato Zip clase a la publicada anteriormente Utilidad CookieCompression.
Otros consejos
7-zip tiene un código fuente gratuito, dominio público C # SDK para el algoritmo LZMA:
Puede probar SevenZipSharp
Parece ser un hecho bastante poco conocido, pero la biblioteca .NET incluye API de empaquetado / compresión
Si está escribiendo archivos individuales, entonces podría tratarlo como una secuencia y usar la GZipStream
/ DeflateStream
(aunque en algunas pruebas lo hice, #ZipLib superó la oferta de MS tanto para la relación como para la velocidad). O hay soporte zip incorporado en algún lugar del marco. Sin embargo, no sé sobre LZMA.