標籤:校正 編碼方式 比較 adl 效能 encode echo raw lib
gzencode 預設使用ZLIB_ENCODING_GZIP編碼,使用gzip壓縮格式,實際上是使用defalte 演算法壓縮資料,然後加上檔案頭和adler32校正
gzdeflate 預設使用ZLIB_ENCODING_RAW編碼方式,使用deflate資料壓縮演算法,實際上是先用 LZ77 壓縮,然後用霍夫曼編碼壓縮
gzcompress ;預設使用ZLIB_ENCODING_DEFLATE編碼,使用zlib壓縮格式,實際上是用 deflate 壓縮資料,然後加上 zlib 頭和 CRC 校正
php 代碼
echo ‘<br>‘;
echo ‘a的長度:‘.strlen($a);
echo ‘<br>‘;
echo ‘gzcompress‘;
echo ‘<br>‘;
echo $m = base64_encode(gzcompress($a));
echo ‘<br>‘;
echo ‘m的長度:‘.strlen($m);
echo "<br>";
echo ‘gzdeflate‘;
echo ‘<br>‘;
echo $m = base64_encode(gzdeflate($a));
echo ‘<br>‘;
echo ‘m的長度:‘.strlen($m);
echo ‘<br>‘;
echo ‘gzencode‘;
echo ‘<br>‘;
echo $m = base64_encode(gzencode($a));
echo ‘<br>‘;
echo ‘m的長度:‘.strlen($m);
這三個函數的比較實質上是三種壓縮方法:deflate, zlib, gzip的比較。
從效能的維度看:deflate 好於 gzip 好於 zlib
從文字檔預設壓縮率壓縮後體積的維度看:deflate 好於 zlib 好於 gzip
php 壓縮函數gzencode gzdeflate gzcompress