Brotli 轉 GZIP 轉換器
將 Brotli 檔案轉換為 GZIP 格式,是以極少的壓縮效率換取廣泛的軟體相容性。
格式比較與技術規格
| 規格 | BROTLI | GZIP |
|---|---|---|
| MIME 類型 | application/ | application/ |
| 類型 | 內容建模串流壓縮 | DEFLATE 串流容器 |
| 壓縮 | Brotli LZ77 + 二階上下文建模 | DEFLATE (RFC 1951) |
| 標準規格 | IETF RFC 7932 | IETF RFC 1952 |
| 檔案簽章(magic bytes)標頭 | Brotli byte stream headers (WBITS / sliding dictionary) | 1F 8B (gzip ID1/ID2) |
格式概述與應用
某些較舊的軟體和系統接受 GZIP,但不支援 Brotli。當接收工具需要 GZIP 格式時,將 Brotli 串流轉換為 GZIP 可能會有幫助。解壓縮與重新壓縮會改變壓縮後的位元組,但應該會保留未壓縮的資料;相容性取決於目標應用程式。
技術規格與編解碼器解析
Brotli 串流使用 application/x-brotli,並採用結合二階上下文建模與靜態前綴碼的 LZ77 演算法。相較之下,GZIP 檔案使用 application/gzip,並封裝以 DEFLATE 演算法壓縮的資料;該演算法將 LZ77 與 RFC 1951 定義的霍夫曼編碼(Huffman coding)結合。檔案簽章(magic bytes)可讓軟體識別這些串流。GZIP 檔案一律以兩位元組標頭序列 0x1F 0x8B 開頭。Brotli 串流不以相同方式使用固定的全域檔案簽章標頭,而是依賴可變長度的位元流標頭,其中前幾個位元定義視窗大小與資料流長度。
作業系統與瀏覽器相容性
GZIP 在多數現代作業系統(包含 Windows、macOS、Linux、iOS 與 Android)中都享有廣泛的支援。內建的系統公用程式(例如 tar、gunzip 與 7-Zip)原生就能處理 GZIP。Brotli 在現代網頁瀏覽器與現代 Linux 核心中獲得良好的支援,但舊版的命令列工具與較舊的程式語言執行階段往往缺乏原生解碼程式庫來處理原始 Brotli 資料流,這使得 GZIP 成為廣泛支援的檔案傳輸中較安全的選擇。
實用資訊
在批次轉換檔案之前,請務必確認您的解壓縮目的地支援 RFC 1951,因為某些內嵌微控制器僅包含最基本的 GZIP 解析常式。
常見問題
如何將 Brotli 串流轉換為 GZIP 串流而不會降低品質?
這兩種格式都使用無損壓縮演算法。這表示檔案內容會解壓縮回完全相同的原始位元序列,且不會遺失任何資料或降低品質。
Brotli 串流與 GZIP 串流有什麼區別?
GZIP 受到許多桌面與伺服器程式的支援,但它在特定裝置上的可用性取決於其安裝的應用程式。