Bibliothèque de compression gratuite pour C # prenant en charge 7zip (LZMA) [fermé]
-
19-08-2019 - |
Question
J'ai un programme (écrit en C #) qui lit / écrit ses données directement (accès direct à un fichier sans serveur) dans des fichiers de base de données Firebird. Pour un meilleur échange, je souhaite les (dé) compresser à l'importation / exportation pour un meilleur échange sur Internet sans avoir besoin d'un programme externe pour les (dé) compresser.
Je connais #ziplib qui prend en charge Zip, GZip, Tar et BZip2.
Que savez-vous d'autres bibliothèques de compression gratuites pour C #? Existe-t-il une bibliothèque .NET prenant en charge LZMA afin que je puisse lire / écrire ".7z" fichiers?
La solution
Il y a un bon article écrit par Peter Bromberg:
Compression en mémoire 7Zip (LZMA) avec C #
Affiche un C # simple
SevenZip.Compression.Lzma.SevenZipHelper
classe pour permettre une compression élevée de objets en mémoire avec C #. Ajoute un nouveau Compression de cookie LZMA au format 7Zip classe à la précédente publiée Utilitaire CookieCompression.
Autres conseils
7-zip contient un code source libre, SDK C # du domaine public pour l'algorithme LZMA:
Vous pouvez essayer SevenZipSharp
Cela semble être un fait assez peu connu, mais la bibliothèque .NET inclut API d'empaquetage / compression
Si vous écrivez des fichiers individuels, vous pouvez simplement le traiter comme un flux et utiliser le fichier GZipStream
/ DeflateStream
(même si lors de certains tests, #ZipLib a surclassé l'offre de MS à la fois en termes de rapport et de vitesse). Ou bien, il existe un support zip intégré quelque part dans le framework. Je ne connais pas LZMA, cependant.