adamhathcock / sharpcompress

SharpCompress is a fully managed C# library to deal with many compression types and formats.
MIT License
2.25k stars 479 forks source link

Add support for zstd as a compression algorithm #223

Open extesy opened 7 years ago

extesy commented 7 years ago

Zstandard (also known as zstd) has a great speed and compression ratio tradeoff. It also has a backing of a huge company (Facebook) and its repo is very active. I would love to be able to use zstd with configurable compression strength in SharpCompress. On its highest setting it is comparable to PPMd for compression ratio, but faster.

adamhathcock commented 7 years ago

It would be cool but this is something I'm personally unwilling to do. In fact I didn't port any algorithm since the original RAR.

Looking at their page there is a full java decoder that could be ported to C#. I wouldn't want just a wrapper of the native DLL in sharpcompress as that's not all platforms.

samuel-w commented 3 years ago

I found a partial implementation of it, compression only. https://github.com/mcraiha/CSharp-zstd

adamhathcock commented 3 years ago

Thanks. Keeping this open

samuel-w commented 3 years ago

I found another one, seems to have both compress and decompress https://github.com/oleg-st/ZstdSharp

adamhathcock commented 2 years ago

Got an itch and started

Compression from: https://github.com/oleg-st/ZstdSharp File format from the RFC: https://datatracker.ietf.org/doc/html/rfc8878#section-3.1 WIP here: https://github.com/adamhathcock/sharpcompress/pull/627