这是一个常见的问题。我想为您提供类似的解决方案:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=427166&SiteID=1
“幻数”通常是一个固定值,而且经常显得有些随意,可能难以辨认。例如,一行代码可能有:
If X = 31 then
'Do Something
End If
在这种情况下,31 是一个“幻数”:它没有明显的含义(就编码而言,这是一个嘲笑的术语)。
文件(不同类型)通常将前几个字节设置为某些值,例如,前两个字节为十六进制数字 42 4D 的文件是位图文件。这些数字是“幻数”(在这种情况下,42 4D 对应于字符 BM)。其他文件也有类似的“幻数”。
http://forums.microsoft.com/msdn/showpost.aspx?postid=1154042&siteid=1
当然,一旦有人(团队)开发了一个支持 zip、bzip2、gzip、rar、cab、jar、data 和 iso 文件的简单压缩/解压缩自定义任务,我就会使用它,直到那个时候,我'将坚持使用开源命令行实用程序。
当然,您可以编写一个解决方案,但这个方案太容易实现了。对于处理 zip 文件,没有原生的 .NET 库(至少现在还没有)。现在支持处理 zip 文件内的压缩流,但不导航存档本身。
现在,正如我之前提到的,有很多像 Sourceforge 上的开源 zip 实用程序。这些在 Win2003 Server x64 上运行良好,我可以证明这一点。
但是,如果您坚持使用 .NET 解压缩 zip 解决方案,请使用http://www.icsharpcode.net/OpenSource/SharpZipLib/,它是开源的,并且具有干净可靠的 100% .NET 实现。