支持7zip(LZMA)的C#免费压缩库

我有一个程序(用C#编写)直接读取/写入数据(没有服务器的直接文件访问)到firebird数据库文件。 为了更好的交换,我希望(un)在导入/导出时压缩它们,以便通过互联网进行更好的交换,而无需外部程序(un)压缩它们。

我知道#ziplib支持Zip,GZip,Tar和BZip2。

你知道C#的其他免费压缩库吗? 是否有支持LZMA的.NET库,因此我可以读/写“.7z”文件?

彼得·布隆伯格写了一篇很好的文章:

使用C#进行7Zip(LZMA)内存中压缩

显示一个简单的C# SevenZip.Compression.Lzma.SevenZipHelper类,以使用C#实现内存中对象的高压缩。 将新的7Zip格式LZMA Cookie压缩类添加到先前发布的CookieCompression实用程序中。

7-zip有一个免费的源代码,用于LZMA算法的公共域C#SDK:

http://www.7-zip.org/sdk.html

你可以尝试SevenZipSharp

这似乎是一个鲜为人知的事实,但.NET库包括打包/压缩API

如果您正在编写单个文件,那么您可以将其视为流并使用内置的GZipStream / DeflateStream (尽管在我做过的某些测试中,#ZipLib在比率和速度方面都超出了MS产品)。 或者在框架中的某处有内置的zip支持。 不过,我不知道LZMA。

注意:GZipStream的大小限制为4Gb