GZIP書庫 (.gz)

IETF 標準

Gzip (GZ) は、標準の GNU 圧縮ユーティリティおよびファイル形式であり、Unix オペレーティングシステムやインターネットの HTTP サーバー全体に広く配備され、ファイルや Web アセットの迅速な圧縮を行っています。

TAR を GZ に変換

無料のブラウザ内 TAR から GZ へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してGZファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してGZファイルを識別します:

16進数シグネチャ(オフセット0):

1F 8B 08

ASCII表現: ..\x08

標準化: IETF RFC 1952

技術仕様

コンテナアーキテクチャ10バイトヘッダー(マジック値0x1F 0x8B、方式8、フラグ、mtime、OS)に続き、DEFLATEストリームと8バイトフッターを格納
圧縮DEFLATEアルゴリズム(LZ77スライディングウィンドウとHuffman符号化)
バイトエンディアンヘッダーとフッターの整数はリトルエンディアン
色空間該当なし(アーカイブコンテナ)
チャンネルと構造単一ファイルの圧縮バイトストリーム
最大寸法非圧縮サイズは2^32を法として記録(ストリーム長に上限なし)
透過性データをビット単位で完全に保持する可逆圧縮
ストリーミングとプログレッシブパイプやHTTPネットワークを通じた1回の逐次ストリーミング再生

技術比較表:GZと競合製品

技術属性GZ (現在)BZ2BROTLIZSTD
解凍速度速い(約 300 MB/s)遅い(約 40 MB/s)非常に速い(約 400 MB/s)超高速(>1.5 GB/s)
ウェブで広く利用すべてのブラウザとサーバーの 100%Web ブラウザのサポートなしすべてのブラウザで HTTPS 経由でサポートブラウザとサーバーのサポートが拡大中
マルチファイルパッケージングTAR コンテナが必要 (.tar.gz)TAR コンテナが必要 (.tar.bz2)ラッパーなしのストリームまたはカスタムコンテナTAR コンテナが必要 (.tar.zst)
チェックサム検証32 ビット CRC (CRC-32)ブロックごとの 32 ビット CRCストリームに組み込みなし64 ビット xxHash

一般的な破損モードと16進数リカバリガイド

抽出エラー:「gzip: stdin: unexpected end of file」。

根本原因: DEFLATE ストリームまたは 8 バイトの CRC32 フッターを切り捨てる、早期のファイル転送終了。

復旧: 「gzip -d --keep broken.gz」または File2File.app Gzip Extractor を使用して、部分的な内容を抽出します。

セキュリティ分析とパーサー攻撃ベクトル

Gzip パーサーは、ユーザー制御のヘッダーと DEFLATE ビットストリームを処理するため、解凍爆弾に対して保護する必要があります。

既知の攻撃ベクター

  • 数メガバイトの Gzip データを数百ギガバイトのディスク容量に拡張する解凍爆弾 (zip 爆弾)。
  • ヘッダーからオプションの元のファイル名文字列を読み取る際のバッファオーバーフロー。
  • 32 ビット CRC チェックの比較中の整数オーバーフロー。

防御的ベストプラクティス: 自動化された取り込みサービスにおいて、厳格な解凍クォータとメモリ上限制限を適用します。

歴史的背景とマイルストーン

1996IETF が Gzip ファイル形式の仕様を RFC 1952 として正式に規定しました。
1993プロプライエタリな Unix の「compress」ユーティリティ(.Z ファイル)を置き換えるために、GNU プロジェクトによって採用されました。
1992Jean-loup Gailly と Mark Adler が、フリーソフトウェア運動のための特許フリーな圧縮ツールとして Gzip を作成しました。

主なメリット

  • すべての Web クライアントの 100% でサポートされている、インターネット HTTP 圧縮(「Content-Encoding: gzip」)の普遍的なベンチマークです。
  • 10 バイトのヘッダー内に、元のファイルの変更タイムスタンプとオプションの元のファイル名が保持されます。
  • 解凍時の軽量な CPU フットプリントにより、低電力のモバイルデバイスやルーターでもスムーズに動作します。

技術的な制限とデメリット

  • 単一ファイルの圧縮のみ:事前に TAR コンテナにバンドルしないと、複数のファイルやディレクトリを圧縮できません。
  • 現代の Web テキストにおいて、Brotli や Zstandard などの最新アルゴリズムよりも圧縮率が低いです。
  • フッターの非圧縮サイズ欄は2^32を法とする32ビット値のため、4 GBを超えるファイルではサイズ表示が一周して誤ることがあります。

興味深い技術トリビア

  • マジックバイト 0x1F 0x8B が選ばれたのは、歴史的に 0x1F が Unix の「compress」ファイルの最初のバイトであり、0x8B が Gzip を特定していたためです。
  • インターネット上の全ウェブサイトの 80% 以上が、ブラウザにウェブページを配信するために Gzip 圧縮を利用しています。
  • Jean-loup Gailly が圧縮コードを書き、Mark Adler が解凍(inflate)コードを書きました。両者とも ACM ソフトウェアシステム賞を受賞しています。

よくある技術的な質問

Gzipでフォルダーを圧縮できないのはなぜですか?

Gzipは単一のバイトストリームを圧縮するように設計されています。フォルダーを圧縮するには、Unixシステムではまずフォルダーを1つの.tarファイルにまとめてから、Gzipで圧縮して.tar.gzファイルを作成します。

.gzと.zipの違いは何ですか?

.zipは複数のファイルをディレクトリインデックスとともにパッケージ化するアーカイブ形式です。.gzは単一のファイルのみを圧縮し、Unixシステムでは通常tarと組み合わせて使用されます。

WindowsやMacで.gzファイルを解凍するにはどうすればよいですか?

File2File.appを使用すれば、ソフトウェアを一切インストールすることなく、ウェブブラウザ上で直接.gzファイルを即座に解凍できます。