PHP字符串压缩

Posted 笠航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP字符串压缩相关的知识,希望对你有一定的参考价值。

php中偶尔遇到字符串的压缩,比如一个长字符串,数据库开始设计的字段存不下,但是又不想改数据库字段存储长度,就可以用压缩的方式降低数据字段字符串的长度数量级,把几百个字符的字符串压缩到几十个字符。总结下来有以下几个:

压缩函数:gzcompress gzdeflate gzencode

与之对应的解压函数如下:

解压函数:gzuncompress gzinflate gzdecode

特别注意:gzdecode是PHP 5.4.0之后才加入的,使用的时候要注意兼容性问题。

gzcompress gzdeflate gzencode函数的区别在于它们压缩的数据格式不同:

gzcompress使用的是ZLIB格式;//压缩率居中

gzdeflate使用的是纯粹的DEFLATE格式;//压缩率最高           bzcompress ( $str ,  9 );压缩率并列最高

gzencode使用的是GZIP格式;//压缩率最低

用一段代码测试一下看看

<?php
$test_string="123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789";
var_dump($test_string);//原字符串长度

var_dump(gzcompress($test_string));//gzcompress压缩后
var_dump(gzdeflate($test_string));//gzdeflate压缩后
var_dump(gzencode($test_string));//gzencode压缩后

var_dump(gzuncompress(gzcompress($test_string)));//gzcompress压缩后再解压缩回来
var_dump(gzinflate(gzdeflate($test_string)));//gzdeflate压缩后再解压缩回来
var_dump(gzdecode(gzencode($test_string)));//gzencode压缩后再解压缩回来

运行结果:

 

以上是关于PHP字符串压缩的主要内容,如果未能解决你的问题,请参考以下文章

python颜色压缩的结果颜色比保存颜色深

JavaScript字符串压缩+ PHP解压缩[关闭]

PAT 1078. 字符串压缩与解压

1078. 字符串压缩与解压 (20)

如何在 PHP 中解压缩二进制字符串?

超级有用的9个PHP代码片段