LZ77: 是一種基於字典的無損數據壓縮算法(還有 LZ78, LZW 等) 算法
deflate: 也是一種數據壓縮算法,實際上就是先用 LZ77 壓縮,而後用霍夫曼編碼壓縮 函數
gzip: 是一種文件結構,也能夠算一種壓縮格式,經過 defalte 算法壓縮數據,而後加上文件頭和CRC校驗 編碼
zlib: 是一個提供了 deflate, zlib, gzip 壓縮方法的函數庫;也是一種壓縮格式(用 deflate 壓縮數據,而後加上 zlib 頭和 CRC 校驗) code
PHP 中的 zlib 擴展提供了對以上壓縮格式的支持,其中的函數和壓縮格式的對應關係以下: 接口
gzdeflate, gzinflate 對應 deflate ip
gzcompress, gzuncompress 對應 zlib 格式壓縮 string
gzencode, gzdecode 對應 gzip 格式壓縮 it
Python 中的 zlib 模塊也提供了上述壓縮格式的支持,不過接口很「隱晦」: 擴展
zlib.compress 對數據進行 zlib 格式壓縮,好像壓縮的時候只支持這一種格式,不過你能夠經過把壓縮後的數據去掉兩字節 zlib 頭和末尾 4 字節的 CRC 校驗獲得 deflate 格式的壓縮數據(zlib_compressed[2:-4]);對於 gzip 壓縮格式能夠經過 gzip 模塊獲得。 sed
zlib.decompress(string[,wbits[,bufsize]]) 解壓更折騰,壓縮格式是經過 wbits 參數控制的:
另外,對於 Apache 的頁面壓縮:
Content-Encoding: gzip 對應 gzip 格式壓縮
Cotent-Encoding: deflate 對應 deflate 壓縮