3

我有一个来自数据库的压缩字节字符串,我需要对其进行解压缩,以便在其中检索 rtf 文件。这是要求。

我尝试使用 DotNetZip,它给了我 50% 的成功率。失败的 50% 给了我一个不受支持的加密 (0x09, deflate64) 错误。所以我认为我的问题是一些压缩字符串是使用 deflate64 压缩的,而另一些则不是。不知道为什么。

我发现 zlib、DeflateStream 和很多免费包都不支持 deflate64。SevenZipSharp 和 KarnaCompression(Info-zip 到 C# 的端口)声称支持它,但是我一直在使用这两个库时遇到错误。

SevenZipSharp 给了我一个谷歌没有答案的“数据错误”异常,而 KarnaCompression 给了我一些随机异常“试图加载格式不正确的程序”,我无法追溯到 KarnaCompression。

有没有人有使用库解压缩 deflate64 编码文件的工作示例?或者可以告诉我如何证明我的 zip 不是 deflate64 编码文件和其他东西?

为 Xceed 许可证支付 700 美元是最后的选择。

4

2 回答 2

3

我有一个类似的问题。

我的问题是我试图从 64 位 exe 调用 unzip32.dll。

检查一下: 在 64 位 .Net 应用程序中导入 32 位 dll

于 2010-07-22T00:40:43.143 回答
0

SevenSharpZip 只是原生 7zip dll 的包装器。我更喜欢 SharpZipLib 作为纯 .NET 压缩解决方案,但它不支持 Deflate64。我在添加支持方面很擅长,但我不熟悉他们的 ZIP 实现。有一个标准,但不同的实现是如此不同。我最终使用了 SevenSharpZip,但是最近我确实遇到了一个错误 - 我正在添加在运行操作之前备份存档的功能,我向其他人推荐了这一功能。

于 2011-08-19T04:22:42.410 回答