年末だからと言うわけではないのですが、メールデータのバックアップをしようとデータ量を見てみたら8GBを超えていて、「時間は掛かるだろうけど、まぁ良いか」とZIP圧縮しようとしたら出来ない。確かに処理は進んでいるはずなんですが、途中で圧縮作業が終了してしまう。えーと思って調べてみたらば、ZIPって圧縮できるファイルのサイズに「4GB」っていう制限があるんですね。

オリジナルの ZIP フォーマットは、ZIP アーカイブ内のエントリに 65535 の制限があるのと同様に、様々なサイズ(ファイルの圧縮/非圧縮サイズ、アーカイブの合計サイズ)に 4 GiB の制限がありました。
 

また圧縮後のファイルサイズにも制限があって、2GB以上のサイズの圧縮ファイルは作れないようです。

2 ギガバイト (GB) よりも大きい圧縮フォルダー (ZIP ファイル) を作成するとファイル読み取りできないが破損することがあります。 このファイルを作成するが、作成した後、ファイルを読み取るすることができません、エラー メッセージは表示されません。
 
一応、後継の仕様ではZIP64というフォーマット拡張のもと扱えるようになってはいるようなのですが、残念ながらWindows XPは対応していないようです(OSの圧縮機能が対応していないだけでソフトウェアを介せば使用できるのかも知れませんが)。

仕様のバージョン 4.5 (それは特定ツールのバージョン 4.5 と同じではない) では、PKWARE はこういった制限を回避するために 16 EiB (264 バイト) まで増加させた "ZIP64" フォーマット拡張を導入しました。ZIP64 サポートは新規に発生したものです。例えば、Windows XP のファイルエクスプローラは ZIP64 をサポートしませんが、 Windows Vista のエクスプローラではサポートします。
 


というわけで、安定性と対応を考えて圧縮には以下のフォーマットのどれかを使用します。

  • 7-Zip
  • RAR
  • ALZip

「無償で使用できるかどうか」「認知度の高い形式であるかどうか」を考えた上で採用したのは7-Zip。この形式であれば僕が愛用している圧縮・解凍ソフト「Lhaz」でも対応しています。

Lhazのページ


圧縮結果は以下の通り。

圧縮前:8.04GB




圧縮後:2.89GB


半分以下のサイズになりました。正直に言うともうちょっと小さくなるのを期待していたのですが、まぁ元が元だけにそれは無理ってもんですね。ええ。そもそもそのレベルで正常な圧縮を保障せよというのが間違いなような気がしますが、とりあえず今回は上手く圧縮できたようなので良しとします。

まぁ、最悪メールは全部Gmail上にあるはずなんでまぁ良いかなと思うわけですけどね...