これはよくある質問です。同様のスレッドに解決策を提供したいと思います。
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=427166&SiteID=1
「マジック ナンバー」は通常、固定値であり、しばしば恣意的で、解読できない可能性があります。たとえば、コード行には次のようなものがあります。
If X = 31 then
'Do Something
End If
この場合、31 は「マジック ナンバー」です。明確な意味はありません (コーディングに関する限り、嘲笑の言葉です)。
(さまざまな種類の) ファイルは、多くの場合、最初の数バイトが特定の値に設定されています。たとえば、最初の 2 バイトが 16 進数 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 で問題なく動作します。私はそれを証明できます。
ただし、zip 解凍に .NET ソリューションに固執する場合は、オープン ソースであり、クリーンで信頼性の高い 100% .NET 実装を備えたhttp://www.icsharpcode.net/OpenSource/SharpZipLib/を使用してください。