いまさら知ったZIPファイルの容量制限

08e52cdf6522eafd070571b437159297_sのコピー

つい先日知った事実なんですけど、これきっとメジャーな情報なのかもしれんな。
ZIPが壊れてる、そんなときはファイルサイズを疑いましょう。

ZIPファイルが壊れてる!

そういう時ってありますよね。
圧縮ミスかな、とか、ダウンロードちゃんとできてる?とか、いろいろ疑ったんですが、一人で奮闘してても理由はわからず。

調べてみたらすぐ出てきました。さすがGoogle先生!!
僕も仕事の都合で、ZIPファイルよく扱うんですが、みなさん知ってましたか。

ZIPファイルに容量制限があるって。

こんなことがあるとは思ってもみなかった容量制限。

ZIPファイルは4GBまで圧縮可

らしいです。最大4GB。それを超えるファイルを圧縮すると、解凍時にファイルが壊れます。
ちなみに圧縮するファイルの1つ以上が4GB以上だった場合も壊れるので、そこにも注意が必要です。
つまり、

圧縮前4GB ダメなパターン

<ダメなパターン1>

  • ファイルA (2GB)
  • ファイルB (2GB)
  • ファイルC (2GB)

これは合計が4GBを超えているパターン

<ダメなパターン2>

  • ファイルA (200MB)
  • ファイルB (500MB)
  • ファイルC (5GB

これは一つ以上のファイルが4GBを超えているパターン

他にもパターンアhあるかと思いますが、大きく分けると、
合計が4GBを超えるパターンと1つのファイルが4GBを超えるパターンだと思います。

圧縮後のファイルサイズ制限は2GBまで

圧縮前のファイルサイズが4GB以下という制限の他に、
圧縮後が2GB以下という制限もあります。これも同じくファイルが破損します。

なので、圧縮前が3.8GBで「これでいけるだろう」と思った動画ファイルなどで
うまく圧縮できない場合があります。

タチが悪いのは、ファイル自体はちゃんと生成されること

そうなんです。ファイル破損とさっきからしきりに言ってきましたが
ZIPファイルはちゃんと生成されるんですよ。なので、アイコンやファイルサイズなどでは見分けがつきません。

解凍してみて初めて「破損している」と気付けるんです。
そこがまたややこしいですよね。アラートとか出してくれればいいのに。

ZIPにこだわるなら、4GB以上はZIP64形式

4Gバイトを超えるアーカイブを扱いたい場合には ZIP64 に対応したツールを使用してください。ZIP64では最大ファイルサイズは 16 EiB までサポートしているため、実質的にサイズは無制限と同等です。

ふむふむ。ZIP64にすれば、容量無制限になるわけか。
ただし、ZIP64は対応している解凍ソフトが多くないので注意。WindowsはVistaから対応らしいです。

4GB以上圧縮したいなら

下記の3つの形式がメジャーなようです。

  • 7z
  • RAR
  • LZH

それぞれのファイルの説明は割愛します。
おそらくこれらの形式はデフォルトの圧縮機能では対応していないと思うので、
フリーソフトを使用することになるかと思います。

対応Windows用フリーソフト

LhaforgeExplzhWinrar

 

Macはこれ

The Unarchiver

 

以上、雑にまとめました。
ZIPファイルのファイル容量制限についてでした。