支持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:
你可以尝试SevenZipSharp
这似乎是一个鲜为人知的事实,但.NET库包括打包/压缩API
如果您正在编写单个文件,那么您可以将其视为流并使用内置的GZipStream
/ DeflateStream
(尽管在我做过的某些测试中,#ZipLib在比率和速度方面都超出了MS产品)。 或者在框架中的某处有内置的zip支持。 不过,我不知道LZMA。
注意:GZipStream的大小限制为4Gb