ZstdをGZIPに変換
バックアップツール、パッケージマネージャー、サーバーがGZIPには対応していてもZstandardを読めない場合は、.zstを.gzに変換してください。展開後のデータは保たれますが、圧縮サイズは変わることがあります。
フォーマットの比較と技術仕様
| 仕様 | ZSTD | GZIP |
|---|---|---|
| MIMEタイプ | application/ | application/ |
| タイプ | リアルタイムストリーム圧縮 | DEFLATEストリームコンテナ |
| 圧縮 | 有限状態エントロピー(FSE)+ ハフマン符号 | DEFLATE(RFC 1951) |
| 標準仕様 | IETF RFC 8878 | IETF RFC 1952 |
| マジックバイトヘッダー | 28 B5 2F FD (Zstandard frame magic number) | 1F 8B (gzip ID1/ID2) |
フォーマットの概要と用途
Zstandardは、エンコーダーが圧縮率と速度のバランスを調整できるため、バックアップやソフトウェアパッケージに使われています。GZIPはツールやウェブサーバーで一般的な交換形式です。受信側のツールがGZIPしか扱えない場合は、.zstを.gzに変換してください。保存容量が重要なら、結果のサイズを比較してください。サイズはデータやエンコード設定によって異なります。
技術仕様とコーデックの詳細
Zstandardストリーム(MIMEタイプ application/zstd)は、リトルエンディアン形式の4バイトのマジックナンバー 0x2FD27AB5 で始まります。データストリームを迅速に圧縮するために、有限状態エントロピーとハフマン符号を使用します。逆に、GZIPストリーム(MIMEタイプ application/gzip)は、LZ77スライディング辞書とハフマン符号を組み合わせたDEFLATEアルゴリズムを使用します。GZIPコンテナは、2バイトのマジックナンバー 0x1F8B で始まり、その後に圧縮フラグ、変更タイムスタンプ、および圧縮ペイロードの前のオプションの元のファイル名が続きます。
OSとブラウザの互換性
GZIPは多くのアーカイブユーティリティやウェブサーバーでサポートされています。Zstandardは対応ソフトウェアが増えていますが、サポート状況はOS、ブラウザー、アプリ、バージョンによって異なります。受信側のツールがZstandardに対応していない場合、変換が役立つことがあります。
役立つ情報
ZstandardからGZIPへの変換は、展開と再圧縮のプロセスであることに留意してください。ZstandardとGZIPは異なるアルゴリズムを使用するため、結果のファイルサイズが増加する可能性があり、変換プロセスでCPUリソースが消費されます。
よくある質問
品質を落とさずにZstandardストリームをGZIPストリームに変換するにはどうすればよいですか?
両方の形式でロスレス圧縮アルゴリズムが使用されます。これは、変換によって元の非圧縮データのすべてのビットが完全に保持されることを意味します。このプロセスでは、まずZstandardストリームが正確な元の状態にデコードされ、情報が一切破棄されることなく、GZIPのDEFLATEアルゴリズムを使用してその生データが圧縮されます。
ZstandardストリームとGZIPストリームの違いは何ですか?
ZstandardとGZIPでは圧縮アルゴリズムが異なるため、一方のストリームを別の形式として名前だけ付け替えることはできません。コンバーターはデータを展開してから再圧縮する必要があり、出力サイズと処理時間は入力データや圧縮レベルによって異なります。