SharpZipLib (#ziplib, formerly NZipLib) is a compression library that supports Zip files using both stored and deflate compression methods, PKZIP 2.0 style and AES encryption, tar with GNU long filename extensions, GZip, zlib and raw deflate, as well as BZip2. Zip64 is supported while Deflate64 is not yet supported. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of SharpZipLib put it this way: "I've ported the zip library over to C# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C#."
SharpZipLib was originally ported from the GNU Classpath java.util.zip library for use with SharpDevelop, which needed gzip/zip compression. bzip2 compression and tar archiving were added later due to popular demand.
The SharpZipLib homepage has precompiled libraries available for download, a link to the forum for support, release history, samples and more.
This software is now released under the MIT License. Please see issue #103 for more information on the relicensing effort.
Previous versions were released under the GNU General Public License, version 2 with an exception which allowed linking with non-GPL programs.
Module | Namespace |
---|---|
BZip2 implementation | ICSharpCode.SharpZipLib.BZip2.* |
Checksum implementation | ICSharpCode.SharpZipLib.Checksums.* |
Core utilities / interfaces | ICSharpCode.SharpZipLib.Core.* |
Encryption implementation | ICSharpCode.SharpZipLib.Encryption.* |
GZip implementation | ICSharpCode.SharpZipLib.GZip.* |
LZW implementation | ICSharpCode.SharpZipLib.Lzw.* |
Tar implementation | ICSharpCode.SharpZipLib.Tar.* |
ZIP implementation | ICSharpCode.SharpZipLib.Zip.* |
Inflater/Deflater | ICSharpCode.SharpZipLib.Zip.Compression.* |
Inflater/Deflater streams | ICSharpCode.SharpZipLib.Zip.Compression.Streams.* |
SharpZipLib was initially developed by Mike Krüger. Past maintainers are John Reilly and David Pierson. The current maintainer is Neil McNeight.
And thanks to all the people that contributed features, bug fixes and issue reports.