¿Alguien sabe de una buena biblioteca de compresión de código abierto para .NET?biblioteca zip de código abierto para .NET?
Respuesta
En cuanto a los comentarios y otros mensajes acerca de la implementación interna gzip, son no lo mismo! GZip no crea el encabezado requerido para archivar; solo es útil para "comprimir" un archivo o secuencia.
Los archivos zip adecuados contienen un encabezado que enumera todos los archivos comprimidos y en qué parte de los datos comprimidos se encuentran y, por lo tanto, necesita algo que haga un encabezado. Eso significa SharpZipLib, una de las muchas versiones comerciales o que usa algo externo con enlaces .NET como 7zip.
Por casualidad, alguien quiere decir esto: "¡Pero veo archivos .gz
en Linux todo el tiempo!" - Son solo archivos únicos y .tar.gz
no es una excepción - tar es el archivo de almacenamiento. El .gz
es ese archivo comprimido.
No necesita esto .NET tiene funcionalidad de compilación: vea la clase gzipstream. – AnthonyLambert
gzipstream no es nada cerca zip-funcionalidad. –
Creo que está demasiado atrapado con los archivos ... gzip es un formato de compresión general. – AnthonyLambert
Pruebe consultar 7-zip. Es de código abierto y mi programa zip favorito. muy kewl. aprovecha múltiples núcleos también.
.NET SDK está disponible here.
Dude - 7 zip ES un programa de compresión. También es de código abierto ... entonces eso significa que es .NET ¿verdad? ==> Código fuente de C# para compresión y descompresión LZMA –
+1, el SDK también es de dominio público, eso suena muy bien para mí. – Tuminoid
Una advertencia: la implementación (segura) C# de 7-zip es mucho, mucho más lenta que la biblioteca no administrada, algo así como 10x (impresión privada, no comparativa puesto que la diferencia era tan grande). –
**** Pero chicos .NET ya soporta abierta postal de origen .... ****
http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx
Esto es compatible con las bibliotecas GZIP. Usé esto para comprimir datos de C# y descomprimir a través de la red en una aplicación de C++. Funciona bien.
, Tony
¿cómo se compara la relación de compresión con 7-Zip? –
Es lo mismo que gZIP. – AnthonyLambert
el espacio de nombres system.io.compression no se ha abierto por completo, las cosas útiles están dentro del espacio de nombres microsoft.internal. En system.io.compression es solo la parte útil para crear pequeños archivos comprimidos, como los nuevos archivos de oficina, no los archivos zip reales. –
El DotNet Zip Library (Ionic.Zip.dll) es muy fácil de usar. Siento que es más fácil de implementar que SharpZip.
también puede revisar la J # Redist. Reimplanta java.util.zip. Article
Pareja de comentarios.
- No utilice el tiempo de ejecución J #. J # ha sido descontinuado por Microsoft. El apoyo futuro es cuestionable. Además, todo el tiempo de ejecución J # es una gran tuerca para tragar cuando lo único que quieres es soporte ZIP.
- El GzipStream en System.IO.Compression, que forma parte de la biblioteca de clases base .NET desde .NET 2.0, proporciona una interfaz de flujo para la compresión IETF RFC-1952. Está bien para la compresión, aunque la relación de compresión no es óptima y ampliará significativamente los datos que se han comprimido previamente. Esto bug was reported to Microsoft, but it's apparently been closed. También hay un DeflateStream que es similar, pero para RFC 1951. Existe una idea errónea de que GZipStream hace archivos zip. No es verdad. Ninguno de estos dos archivos zip.
- Hay System.IO.Packaging.ZipPackage.Funciona, pero está diseñado y pensado principalmente para el empaquetado de archivos de MS Office 2007 (.docx, .xslx y .pptx). Es difícil de manejar para los archivos zip y no es compatible con muchas funciones ZIP, como el cifrado.
- Si desea una forma flexible de crear y leer archivos zip en .NET, necesita una biblioteca de terceros, actualmente.
DotNetZip es una buena opción de terceros. Libre, de código abierto, mantenido activamente, fácil de usar, pequeño, buen conjunto de características. Se envía como un único ensamblaje: es un código completamente administrado. Funciona en Compact Framework y en .NET Framework. El prerrequisito es .NET 2.0.
DotNetZip también incluye una biblioteca ZLIB, con clases como {Zlib, GZip, Deflate} Stream. Son comparables a los incorporados a .NET, pero incluyen la capacidad de establecer niveles de compresión, y en niveles superiores se comprimen mucho más eficazmente que las clases integradas. El ZlibStream tiene compresión RFC 1950.
DotNetZip hace ZIP64, contraseñas, encriptación AES, transmisiones, SFX y Unicode. Todos los que lo usan dicen que es mucho más fácil de usar que SharpZipLib. Hay un buen archivo de ayuda (.chm) y muchos ejemplos de código.
¿Sabe usted que se puede incluir DotNetZip en un proyecto de código abierto? Escuché que Microsoft Public License no se puede usar junto con una GPL. – Zenya
Primero, no soy un abogado de propiedad intelectual o un experto en licencias de software y su compatibilidad mutua. Sin embargo, estoy seguro de que puedo responder afirmativamente a su primera pregunta: DotNetZip puede usarse en un proyecto de código abierto. Hay una segunda pregunta implícita en su comentario: ¿Se puede usar una biblioteca autorizada bajo el MS-PL junto con un código o una biblioteca con licencia bajo la GPL? Esa es una pregunta completamente diferente, y no intentaré responderla. No estoy seguro, pero puede suponerse que "código abierto implica GPL". Esta no es una suposición válida. – Cheeso
¡Gran biblioteca, gracias! – nrodic
- 1. .Net biblioteca para archivos zip de volumen dividido?
- 2. Recomiende un código abierto Biblioteca de estadísticas .NET
- 3. subclases de una biblioteca de código abierto
- 4. Biblioteca de diseño de gráficos de código abierto
- 5. ¿Biblioteca Java de código abierto para leer datos de ECG?
- 6. Biblioteca de CoverFlow de código abierto para iPhone
- 7. ¿Cuál es tu biblioteca libre o de código abierto favorita para .NET Charts and Gauges?
- 8. Pequeña biblioteca Unicode de código abierto para C/C++
- 9. Biblioteca C++ de código abierto para matemáticas vectoriales
- 10. OCR de código abierto
- 11. 7-Zip (7za.dll) .NET envoltorio
- 12. Libre/de código abierto Aplicación Skinning Solutions for .Net?
- 13. biblioteca portátil zip para C/C++ (no es una aplicación)
- 14. ¿Qué alternativas existen para la biblioteca de hash perceptual de código abierto de pHash?
- 15. OCR de código abierto para árabe
- 16. Biblioteca de matrices para .NET
- 17. ¿Hay alguna biblioteca de memoria temporal jerárquica de código abierto?
- 18. ¿Código de código abierto para presentar la forma de onda?
- 19. Implementación de biblioteca de código abierto: cómo manejar el registro?
- 20. de código abierto C++ exploración de la biblioteca
- 21. Biblioteca de reconocimiento de voz de código abierto en Java
- 22. ¿Alternativa de código abierto para Mathworks Polyspace?
- 23. ¿Existe una biblioteca de código abierto WebSockets (JavaScript) XMPP?
- 24. Biblioteca de dibujo de código abierto (dwg) en C#
- 25. biblioteca de texto a voz de código abierto
- 26. ¿Existe una biblioteca de registro distribuido de código abierto?
- 27. ¿Biblioteca de código abierto en PDF para la aplicación C/C++?
- 28. ¿Cómo teclear correctamente una biblioteca de código abierto?
- 29. Sugerencias para una biblioteca .NET barata/gratuita para hacer Zip con encriptación AES?
- 30. ¿Biblioteca de código abierto para generar tipos concretos de interfaces durante el tiempo de ejecución?
puede haber sido reformulado "Necesito generar archivos zip utilizando .NET. Pero carece de soporte .Net archivo zip. ¿Cómo podemos superar este problema?". Pero desde fx 4.5 esto se ve fijo a través de [System.IO.Compression.ZipArchive] (https://msdn.microsoft.com/en-us/library/system.io.compression.ziparchive (v = vs.110) .aspx) –