我有一个程序(用 C# 编写)直接读取/写入其数据(无需服务器直接访问文件)到 firebird 数据库文件。为了更好的交换,我想在导入/导出时(解)压缩它们,以便在 Internet 上进行更好的交换,而不需要外部程序来(解)压缩它们。
我知道#ziplib支持 Zip、GZip、Tar 和 BZip2。
您还知道哪些 C# 的免费压缩库?是否有支持 LZMA 的 .NET 库,以便我可以读/写“.7z”文件?
我有一个程序(用 C# 编写)直接读取/写入其数据(无需服务器直接访问文件)到 firebird 数据库文件。为了更好的交换,我想在导入/导出时(解)压缩它们,以便在 Internet 上进行更好的交换,而不需要外部程序来(解)压缩它们。
我知道#ziplib支持 Zip、GZip、Tar 和 BZip2。
您还知道哪些 C# 的免费压缩库?是否有支持 LZMA 的 .NET 库,以便我可以读/写“.7z”文件?
7-zip 有一个免费的源代码,用于 LZMA 算法的公共域 C# SDK:
Peter Bromberg 写了一篇很好的文章:
展示了一个简单的 C#
SevenZip.Compression.Lzma.SevenZipHelper
类,用于使用 C# 对内存中的对象进行高压缩。向先前发布的 CookieCompression 实用程序添加新的 7Zip 格式 LZMA Cookie 压缩类。
你可以试试SevenZipSharp
这似乎是一个鲜为人知的事实,但 .NET 库包含打包/压缩 API
如果您正在编写单个文件,那么您可以将其视为流并使用内置GZipStream
/ DeflateStream
(尽管在我所做的一些测试中,#ZipLib 在比率和速度方面都优于 MS 产品)。或者在框架的某处有内置的 zip 支持。不过,我不知道 LZMA。