【发布时间】:2011-03-18 07:25:42
【问题描述】:
我有一个来自数据库的压缩字节字符串,我需要对其进行解压缩,以便在其中检索 rtf 文件。这是要求。
我尝试使用 DotNetZip,它给了我 50% 的成功率。失败的 50% 给了我一个不受支持的加密 (0x09, deflate64) 错误。所以我认为我的问题是一些压缩字符串是使用 deflate64 压缩的,而另一些则不是。不知道为什么。
我发现 zlib、DeflateStream 和很多免费包都不支持 deflate64。 SevenZipSharp 和 KarnaCompression(Info-zip 到 C# 的端口)声称支持它,但是我在使用这两个库时不断出错。
SevenZipSharp 给了我一个谷歌没有答案的“数据错误”异常,而 KarnaCompression 给了我一些随机异常“试图加载格式不正确的程序”,我无法追溯到 KarnaCompression。
有没有人有一个使用库解压缩 deflate64 编码文件的工作示例? 或者可以告诉我如何证明我的 zip 不是 deflate64 编码文件和其他东西?
支付 700 美元购买 Xceed 许可证是最后的选择。
【问题讨论】:
-
在您购买 Xceed 许可证之前,您是否使用过他们的试用版来检查您是否可以解压所有内容,或者这是否也会导致 50% 的比率?
-
您是否尝试将数据库中的字节写入文件并使用某些工具(7zip、winrar 等)解压缩它们以检查是否可以使用其他工具读取它们以确保内容真的有效吗?
-
为了回答您的第二个问题,我已将流写入一个文件并能够使用 WinRAR 打开它。我会尽快回答你的第一个问题:)
标签: c# deflate compression dotnetzip