我有一个来自数据库的压缩字符串,我需要解压缩以便在那里检索rtf文件。这是要求。
我尝试使用DotNetZip,它给了我50%的成功率。失败的50%给了我一个不受支持的加密(0x09,deflate64)错误。所以我认为我的问题是一些压缩字符串是使用deflate64压缩的,而另一些则不是。不知道为什么。
我发现zlib,DeflateStream和很多免费软件包都不支持deflate64。 SevenZipSharp和KarnaCompression(Info-zip到C#的端口)声称支持它,但是我不断使用这两个库时出错。
SevenZipSharp给我一个“数据错误”例外,谷歌没有答案,KarnaCompression给了我一些随机异常“试图加载一个格式不正确的程序”,我无法追溯到KarnaCompression。
有没有人有一个使用库来解压缩deflate64编码文件的工作示例? 或者可以告诉我如何证明我的zip不是deflate64编码的文件和其他东西?
支付700美元购买Xceed许可证是最后一种选择。
答案 0 :(得分:3)
答案 1 :(得分:0)
SevenSharpZip只是本机7zip dll的包装器。我更喜欢SharpZipLib作为纯.NET压缩解决方案,但它不支持Deflate64。我在添加支持时遇到了麻烦,但我不熟悉他们的ZIP实现。有一个标准,但不同的实现是如此不同。我最终使用的是SevenSharpZip,但我最近遇到了一个错误 - 我正在添加在运行操作之前备份存档的功能,我建议其他人使用。