はじめに 7-Zipとは
7-Zipは、高い圧縮率を誇るオープンソースのファイルアーカイバです。独自の7z形式をはじめ、ZIP、GZIP、BZIP2、TARなど多数のアーカイブ形式に対応しています。完全無料(LGPLライセンス)で、商用利用も制限なく可能です。
「ファイル圧縮」と一口に言っても、その仕組みや歴史を知ると、ツール選びの解像度が上がります。本記事では、ファイル圧縮の基礎知識から、日本発祥の圧縮形式、圧縮率の最新比較までを解説し、7-Zipの活用法を紹介します。
ファイル圧縮とは データを小さくする仕組み
ファイル圧縮とは、データの中の「冗長な部分」(重複・偏り)を見つけて、元に戻せる形で削減する技術です。元に戻せる圧縮を「可逆圧縮」、元に戻せない圧縮を「非可逆圧縮」と呼びます。ファイルやプログラムの圧縮は可逆圧縮です。
代表的な圧縮の原理は3つあります。
ランレングス法(連長圧縮)
同じデータが連続している部分に注目する方法です。例えば「aaaaaaaaaabbbbbbb」というデータは「a10b7」のように「文字+連続数」で表せます。同じ値が連続する画像やFAXデータなどに効果的です。
ハフマン符号化
出現頻度の高い文字に短い符号、低い文字に長い符号を割り当てる方法です。モールス信号と同じ発想で、よく出る文字ほど短く表現します。テキストデータの圧縮に効果的です。
辞書式圧縮(LZ77/LZ78)
1977年にレンペル(Lempel)とジフ(Ziv)が考案した方式で、前に出てきたデータ列を「参照位置と長さ」で表現します。同じパターンが繰り返し出現するデータを効率よく圧縮できます。現在使われている圧縮方式の多くは、このLZ法の改良版です。
具体的には、ZIPやgzipで使われる「Deflate」はLZ77+ハフマン符号化の組み合わせ、7-Zipの「LZMA」はLZ77を改良しRange Coder(特許を回避した算術符号)を組み合わせた方式です。
日本発祥の圧縮形式 LZH(LHA)
「日本発祥のファイル圧縮はあるの?」という質問の答えは、あります。LZH(.lzh)です。
LZHは、1988年に吉崎栄泰氏(本業は内科医)が開発したフリーソフト「LHA」で採用された圧縮方式です。主にMS-DOS環境で広く普及し、1990年代の日本のパソコン通信時代には、ファイルのやり取りの事実上の標準形式でした。
現在は7-ZipやZIPが主流になりましたが、LZHは日本のデジタル文化の歴史に残る重要な圧縮形式です。仕様が公開されていたため、多くのソフトウェアが対応しました。
7-Zipは今一番圧縮率が高いのか
結論から言うと、「7z形式は最高クラスの圧縮率だが、絶対的に一番とは言えない」のが実情です。圧縮率はデータの種類に大きく依存しますが、一般的な傾向として以下のような比較になります。
| 形式 | 圧縮率 | 圧縮速度 | 展開速度 | 特徴 |
|---|---|---|---|---|
| 7z(LZMA2) | 高い | 遅い | 中程度 | 最高クラスの圧縮率。暗号化対応 |
| xz(LZMA2) | 高い | 遅い | 中程度 | Linuxパッケージで多用 |
| bzip2 | 高い | 遅い | 遅い | 旧世代の高圧縮 |
| zstd | 中〜高 | 速い | 最速 | Facebook開発。速度と圧縮率のバランスが最強 |
| ZIP / gzip | 中程度 | 速い | 速い | 互換性の王者。どこでも使える |
ある検証(サーバーワークスの比較)では、圧縮率はxz≒bzip2>7z>Brotli>zstd>ZIP/gzipという結果でした。7zは最高クラスですが、xzとほぼ同等です。
一方、Facebookが開発したzstdは、圧縮率が7zに迫りながら圧縮・展開速度が桁違いに速い「現代の本命」とも言える存在です。ただしWindows環境での扱いやすさや暗号化機能、GUIの使いやすさを考えると、総合力では7-Zipが現場の定番として優れています。
Linuxではtar.gzが多いのはなぜか
Linuxでよく見かける「tar.gz」は、2つの処理の組み合わせです。
- tar:複数のファイルを1つに「まとめる」(アーカイブ)だけで、圧縮はしない
- gz:gzipで「圧縮」する
つまりtar.gzは「tarでまとめて、gzipで圧縮した」ファイルです。Linuxのソフトウェア配布では、tar.gzのほか、より高圧縮のtar.xzも広く使われています。Linuxに詳しい方なら、7-Zipはこのtar.gzやtar.xzも扱えるので、WindowsとLinuxの両方で便利に使えます。
現場での活用 プログラム・巨大ファイル・図面の送付
現場での具体的な活用シーンを紹介します。
プログラムや図面を送付するとき
プログラムのソースコードや図面データ(CADファイル)は、そのまま送るとサイズが大きくなります。7-Zipで圧縮すれば、送付前のデータを大幅に小さくできます。特に図面データはテキストベースのフォーマット(DXFなど)だと圧縮効果が大きいです。
圧縮してファイルサイズを小さくする
「少しでもファイルサイズを小さくしたい」場合は、7z形式を選びます。標準のZIP形式と比較して30〜50%高い圧縮率を達成できると言われています。ただし圧縮に時間がかかるので、大きなデータは圧縮中に他の作業を進められるよう、余裕のあるタイミングで実行しましょう。
暗号化して機密データを保護する
7z形式はAES-256暗号化をサポートしており、ファイル名も含めて暗号化できます。顧客情報や設計データを送付する際、パスワード付きの暗号化アーカイブを作れば、安全にデータをやり取りできます。
なお、暗号化したデータを送る場合は、パスワードは別の経路(電話・メールを分ける等)で伝えるのが基本です。
インストール方法
1. 7-Zip公式サイト(7-zip.org)にアクセスします。
2. Windowsのビット数(64bit/32bit)に合わせたインストーラをダウンロードします。
3. インストーラを実行し、セットアップウィザードに従います(デフォルト設定推奨)。
4. インストール完了後、エクスプローラの右クリックメニューからすぐに圧縮・展開ができます。
Linux向けにはp7zip(コマンドライン版)が提供されています。
まとめ
ファイル圧縮は、データの冗長性を利用してサイズを削減する技術です。日本発祥のLZHから、現在の7z・xz・zstdまで、圧縮技術は進化し続けています。
- 7-Zipは最高クラスの圧縮率と暗号化機能を備えた無料ツール
- 「一番圧縮率が高い」のはxz・7zクラスだが、速度重視ならzstdも有力
- プログラム・図面の送付は7zで圧縮+AES-256暗号化がおすすめ
- Linuxのtar.gzは「まとめる(tar)+圧縮(gzip)」の組み合わせ
まずは7-Zipをインストールして、ログファイルや図面データを7z形式で圧縮してみてください。ファイルサイズの削減効果を実感できるはずです。


コメント