Skip to content

notBald/DeflateLib

Repository files navigation

This is a port of zlib and Zopfli to C#

Zopfli is the best compression you can get when conforming to the deflate format, but is rather slow.

zlib is much more usable. The port isn't 1 to 1 of the original, some source code comes from other places. The inflate functions is based on 1.2.8, the deflate function is based on 1.2.13.

This libary is 100% safe code

Limits:

The original libary is 64-bit clean. This port isn't, as c# has poor support for large arrays. This effectivly limits this libary to 2 GB, though you can compress/decompress bigger files, it's simply means that the biggest block can't be larger than 2GB.

The C# implementation uses uint in a number of places where int should have been used, fixing this should be straight forwards, just change the type. I'm not sure if it has any real impact on anything though.

I've avoided the use of "long" as this libary simply can't handle numbers that big anyway, but a few longs may have snuck through. Again, should be possible to simply change them to int. The exception being total bytes in/out. Those should remain as long.

About

Port of zlib 1.2.8 and 1.2.13 to C#

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages