ZIP64の解説: 4 GBを超える大きなアーカイブ
ZIP64とは何か、4 GBを超えるアーカイブに必要な理由、ブラウザが非常に大きなZIPをどう扱うか。
元のZIP形式は、ファイルがキロバイト単位で測られていた時代に設計されました。サイズとオフセットに32ビット数値を使うため、クラシックZIPは4 GBと65,535エントリに制限されます。ZIP64は64ビット数値を使う拡張で、アーカイブはこれらの限界をはるかに超えて成長できます。
クラシックの限界
クラシックZIPファイルでは、サイズ、オフセット、エントリ数は32ビット符号なし整数として保存されます。実際の影響は次のとおりです。
- アーカイブ内の単一ファイルは最大4 GBです。
- アーカイブ自体は約4 GBを超えられません。
- アーカイブには65,535エントリまでしか収められません。
ZIP64の仕組み
ZIP64は基本形式を変更しません。64ビット値を運ぶエクストラフィールドとレコード、さらにZIP64終端中央ディレクトリレコードとそれを指すロケータを追加します。ZIP64を理解するリーダーは64ビット値を使い、理解しないリーダーもクラシック構造を見つけられ、多くの場合きれいに拒否します。
ZIP64が必要なとき
単一エントリが4 GBを超える、アーカイブ全体が4 GBを超える、またはエントリ数が65,535を超える場合にZIP64が必要です。動画プロジェクト、データベースダンプ、大規模なバックアップコレクションでこれらの限界に達することがよくあります。
ブラウザでのZIP64
ブラウザはJavaScript環境であり、JavaScriptの数値は9,007,199,254,740,991まで安全です。これは4 GBをはるかに超えます。アーカイブコードは、64ビットフィールドを安全でない整数にオーバーフローさせずに読み取る必要があります。Aback ZIPはZIP64フィールドを検出して解析し、ZIPビューアで表示します。
Frequently asked questions
ZIP64ファイルは古いソフトウェアと互換性がありますか?
古いアーカイブツールはZIP64を理解できず、ファイルを拒否したりサイズを誤って報告したりすることがあります。現代のツールはユーザーの操作なしでZIP64を処理します。
Aback ZIPはZIP64をサポートしていますか?
Aback ZIPはZIP64メタデータを読み取り、大きな値を安全に処理します。実際の限界はブラウザで利用可能なメモリによって決まります。