DeflateをGZIPに変換

生DEFLATEをGZIPストリームに変換することで、オペレーティングシステムやWebツールが適切に読み取れるように、圧縮ペイロードをメタデータヘッダー付きの標準コンテナ内にラップします。

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

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

または貼り付け Ctrl+V

ファイルを待つ間、Code Rainで遊べます

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

フォーマットの比較と技術仕様

仕様DEFLATEGZIP
MIMEタイプapplication/zlibapplication/gzip
タイプraw DEFLATEストリームDEFLATEストリームコンテナ
圧縮LZ77 + ハフマン符号DEFLATE(RFC 1951)
標準仕様IETF RFC 1950 / RFC 1951IETF RFC 1952
マジックバイトヘッダー78 01 / 78 9C / 78 DA (zlib header bytes)1F 8B (gzip ID1/ID2)

フォーマットの概要と用途

生のDEFLATEデータストリームには、ファイルヘッダーや末尾のチェックサムなしで圧縮されたバイトが含まれています。Webブラウザやネットワークツールは、元のファイル名、変更タイムスタンプ、オペレーティングシステム識別子などのメタデータが不足しているため、これらのプレーンなストリームの処理に苦労することがよくあります。この生データをGZIPコンテナ内にラップすることで、これらの互換性の問題が解決されます。 開発者は、HTTP圧縮、PNG画像チャンク、ZIPアーカイブなどのネットワークプロトコル内で生のDEFLATEストリームに遭遇します。これらのストリームをコマンドラインツールや標準的なWebダウンロード用のスタンドアロンファイルとして保存する必要がある場合、エンジニアはそれらをGZIP形式に変換します。これにより、展開ユーティリティがファイルタイプを即座に認識し、エラーを発生させることなくコンテンツを抽出できるようになります。

技術仕様とコーデックの詳細

生のDEFLATEはRFC 1951のビットストリームで、フレーミングヘッダーや固定シグネチャを持たず、LZ77マッチングとハフマン符号を使用します。MIMEタイプ application/zlib が示すのはRFC 1950のzlibラッパー付きDEFLATEであり、生のDEFLATEではありません。GZIP(application/gzip)はDEFLATEペイロードをラップし、バイト 1F 8B で始まるヘッダーと、CRC32チェックサムおよび非圧縮サイズを2^32で割った余りを含むトレーラーを付加します。

OSとブラウザの互換性

GZIPストリームは、Linux、macOS、Windowsなどの最新オペレーティングシステム間で幅広い互換性を誇ります。gzip、gunzip、7-Zipなどのコマンドラインツールは、GZIPファイルをネイティブで読み取ります。Webブラウザは、サーバーからHTTPレスポンスを受信したときにGZIPの展開を自動的に処理しますが、生のDEFLATEでは多くの場合、JavaScript環境またはWebAssemblyモジュール内にカスタムパーサーロジックが必要になります。

役立つ情報

基盤となるDEFLATEペイロードが無傷であっても、末尾のCRC32チェックサムが破損していると抽出ツールが中止する原因となるため、展開ツールがGZIPトレーラーを正しく読み取ることを必ず確認してください。

よくある質問

品質を落とさずに生DEFLATEをGZIPストリームに変換するにはどうすればよいですか?

両方の形式で、まったく同じDEFLATEアルゴリズムに基づいたロスレス圧縮が使用されます。これらを相互変換すると、既存の圧縮バイトの周囲にコンテナヘッダーとチェックサムが追加されるだけであるため、ラッピングプロセス中にデータ損失は一切発生しません。

生DEFLATEとGZIPストリームの違いは何ですか?

生DEFLATEには、識別ヘッダーやフッターなしで圧縮されたペイロードのみが含まれています。GZIPストリームは、メタデータの追跡とエラー検出のために、10バイトのヘッダーと8バイトの末尾のチェックサムを生のDEFLATEデータに追加する標準化されたファイルコンテナです。