GZ

GZファイルとは

ファイル 1 つを圧縮します。TAR と組み合わさって、Unix でおなじみの書庫になります。

GZ とは何か

GZ はストリーム形式です。先頭から末尾へ書かれ、同じ順に読まれます。 ウェブと長期保存のために使われます。

拡張子は .gz、正式名称は Gzip Archive です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。

GZ はどこから来たのか

1992 年までさかのぼります。 仕様は RFC 1952 です。

これだけ長く読まれ続けてきた形式なら、10 年後に取り出したいものを預けても大丈夫です。

仕様は公開されています

誰でも、許可を求めることなく、ライセンス料も払わずに実装できます。この形式が数多くのプログラムに載っているのはそのためであり、20 年前に書かれたファイルが今も開けるのもそのためです。

捨てられるものはありません

GZ ファイルは中身をそのまま保存します。保存し直しても何も変わらないので、開いて、直して、また保存する——それを何度繰り返しても劣化は積み上がりません。これが、渡すための形式ではなく作業のための形式である理由です。

ちょうど 1 ファイルを持ちます

GZ ファイルが圧縮するのはひとつながりの流れだけで、ファイル名やフォルダーというものを知りません。これが TAR と並んで現れることがこれほど多い理由です。TAR が、その足りない構造を足してくれます。

ほかに何を運べるか

GZ ファイルは全部が届く前に再生を始められる構造を持てます。

これは変換のときにとくに効いてきます。変換先が持てないものは落とされ、たいてい警告もありません。

この圧縮率がどこから来ているか

32 KB の窓で動きます。繰り返しを見つけたとき、これだけ前に見たデータまでさかのぼれる、という意味です。

この数ひとつで、書庫形式どうしの違いのほとんどが説明できます。窓が大きければ多くの繰り返しを見つけられ、そのぶん時間とメモリーを使います。取引はそれだけです。

自分を守るために何を備えているか

GZ ファイルは壊れたファイルが黙って誤読されるのではなく、壊れていると分かるようにするチェックサムを備えています。

チェックサムは何も直しません。ファイルが壊れていると教えてくれるだけです。ただしそれは、今それを知るか、送った相手から知らされるかの違いです。

GZ を開けるのは何か

gzip、7-Zip、Kekaが読めますし、同じ種類のプログラムならたいてい読めます。

ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。

ブラウザーで開く

これは今のブラウザーならどれでも読めます。

ですからページに置くのも、メッセージに添えて送るのも、安心してできます。相手が何をインストールしているかを考える必要がありません。

渡すための形式です

GZ は渡すために作られたもので、中で作業するためのものではありません。編集は可能ですが、快適だったためしはありません。賢い道は、元のファイルへ戻ってもう一度書き出すほうを通ります。

この形式でよく起きること

繰り返し挙がる不満はこれです。ひとつの流れしか扱えず、フォルダーを記述できない。

どれも、この形式を避ける理由にはなりません。どれかに不意を突かれる前に知っておくべきことがら、というだけです。これは別の主張であり、そして役に立つほうの主張です。

基本情報

GZフォーマットの識別子と出自。
拡張子.gz, .tgz
メディアタイプapplication/gzip
初版1992
仕様RFC 1952

GZを別のフォーマットに変換する

別のフォーマットをGZに変換する

GZの代わりに検討できるフォーマット