GZIP 解凍とは何ですか?
GZIP は RFC 1952 で定義された可逆圧縮ファイル形式です。解凍は DEFLATE アルゴリズム(RFC 1951)を逆にたどり、LZ77 参照と Huffman 符号化シンボルを読み戻して、元のバイト列を正確に復元します。
GZIP 解凍はどのように機能しますか?
入力はブラウザー内でネイティブの DecompressionStream('gzip') API を使って完結します。主な手順は次のとおりです:
- ツールは入力をテキストの場合は Base64 または16進数として解析するか、アップロードされた .gz ファイルの生バイトを読み込みます。
- 10 バイトの gzip ヘッダーが検証され、DEFLATE ペイロードが特定され、8 バイトのフッター(CRC32 と元の長さの 2^32 剰余)が検証のために確保されます。
- バイト列は
gzipフォーマット用に設定されたDecompressionStreamを通過します。 - ブラウザーは DEFLATE を逆に実行します。Huffman コードはシンボルに復号され、LZ77 後方参照は元のバイトストリームへ展開されます。
- ストリームは復元されたバイトに対して CRC32 と長さフッターを検証し、テキストフォームでは UTF-8 テキストとして、アップロードフォームではダウンロード可能なファイルとして出力します。
このツールで解凍する理由は何ですか?
- レスポンスを調査:他のツールではバイナリーノイズとして表示される GZIP エンコードされた HTTP ボディや CDN ペイロードを読めます。
- アーカイブの復元:追加のソフトウェアを入れずに .gz ログファイル、設定ダンプ、tarball の構成要素を取り出せます。
- プライバシー:解凍はすべてブラウザー内で行われます。入力がサーバーに到達することはありません。
- 標準準拠:
gzipCLI、HTTP サーバー、または Python、Node.js、Go、Java、Rust の標準ライブラリーが生成する RFC 1952 ストリームをすべて受け付けます。
GZIP 解凍の一般的な用途は何ですか?
GZIP 解凍は Web 作業やコマンドラインツールで広く登場します:
- API のデバッグ:生の
Content-Encoding: gzipレスポンスボディを貼り付けて、内部の JSON や HTML を確認します。 - ログ調査:完全な抽出パイプラインなしでイベントを grep するために、ローテートされた
.log.gzファイルを開きます。 - バックアップの検証:別のツールが作った .gz アーカイブが正しく解凍できるかをまず確認し、その上で信頼します。
GZIP 解凍の例はどのようなものですか?
H4sI で始まる 200 バイトの Base64 文字列は gzip ヘッダーの典型的なサインです。マジックバイト 1f 8b がそれらの文字へとエンコードされます。その文字列を貼り付けて「解凍」を押すと、空白や末尾の改行を含め、元のテキストがバイト単位で正確に再現されます。
この GZIP 解凍ツールは RFC 1952 のあらゆる入力を受け付け、元のバイト列をブラウザー内で直接生成します。GZIP 圧縮ツールと組み合わせて、ページを離れずにテキストやファイルを往復させましょう。