Home >php教程 >php手册 >php字符串压缩方法比较示例

php字符串压缩方法比较示例

WBOY
WBOYOriginal
2016-06-13 09:44:24862browse

 php 提供的字符串压缩方法有很多,下面为大家比较下php字符串压缩方法,感兴趣的朋友可以参考下

php 提供的字符串压缩方法有    1.gzcompress — Compress a string    This function compress the given string using the ZLIB data format.    2.gzencode — Create a gzip compressed string    This function returns a compressed version of the input data compatible with the output of the gzip program    3.gzdeflate — Deflate a string    This function compress the given string using the DEFLATE data format.    4.bzcompress — 把一个字符串压缩成 bzip2 编码数据    bzcompress() 压缩了指定的字符串并以 bzip2 编码返回数据。    下面对这四种方法进行压缩比较,分别进行中文和英文数字的压缩  复制代码 代码如下: 压缩中文比较

';  compress_comp($str1, 1000); // 压缩1000次 与 解压缩1000次比较    echo '压缩英文数字比较

';  compress_comp($str2, 1000); // 压缩1000次 与 解压缩1000次比较    /* 压缩 */  function compress_comp($str, $num){    $func_compress = array('gzcompress', 'gzencode', 'gzdeflate', 'bzcompress');    echo '原文:'.$str.'

';  echo '原文大小:'.strlen($str).'

';    for($i=0,$length=count($func_compress); $i=5.4  break;  case 'gzdeflate':  $mstr = gzdeflate($str, 9); // 解压方法:gzinflate  break;  case 'bzcompress':  $mstr = bzcompress($str, 9); // 解压方法:bzdecompress  break;  }  }  $endtime = get_microtime();  echo $func_compress[$i].' 压缩后大小:'.strlen($mstr).' 耗时:'.round(($endtime-$starttime)*1000,5).'ms

';  }  }      /* 获取 microtime */  function get_microtime(){  list($usec, $sec) = explode(' ', microtime(true));  return $usec+$sec;  }  ?>    执行结果:  复制代码 代码如下: 压缩中文比较    原文:布局 1 介绍 布局,简单来说就是设置元素的大小和位置。 Ext 的布局系统包括组件,布局,容器,容器是一种特殊的组件,可以管理组件的大小和位置。 容器是通过 doLayout 来重新计算布局,并更新 DOM. 2 手工布局是不必要的,框架会为你自动处理。    原文大小:328    gzcompress 压缩后大小:251 耗时:59.99994ms    gzencode 压缩后大小:263 耗时:120.00012ms    gzdeflate 压缩后大小:245 耗时:119.99989ms    bzcompress 压缩后大小:303 耗时:259.99999ms    压缩英文数字比较    原文:!@#$%^&*()QWERTYUIOPSDFGHJKL!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNMa!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD:ZXCVBNM#!@#!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM-!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD$%^&*()ERTYUIODFGHJ!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM]!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPDKLXCVBNM@#$%^&*()RTYUIOPDFGHJKLCVBNMFGHJTYU%^&RFGHJ4d56g7h8ui7h8ujirqwerqh8    原文大小:386    gzcompress 压缩后大小:116 耗时:50.00019ms    gzencode 压缩后大小:128 耗时:99.9999ms    gzdeflate 压缩后大小:110 耗时:89.99991ms    bzcompress 压缩后大小:183 耗时:210.00004ms    可以得出    gzcompress 速度最快,压缩比率较高。    gzdeflate 压缩比率最高,速度稍慢于gzcompress    gzencode 与 gzdeflate 比较接近,gzdeflate稍有优势    bzcompress 速度最慢,压缩比率最慢。    因此建议使用 gzcompress 和 gzdeflate。 
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn