PHP中压缩字符串的最佳方法
我使用gzcompress(json_encode($arr),9)压缩数组。 所以我使用json_encode将数组转换为字符串,然后使用gzcompress进行压缩。 但是我找不到结果字符串的大小有多大差异。 压缩前大小为488KB,压缩后大小为442KB 有没有办法进一步压缩字符串PHP中压缩字符串的最佳方法,php,string,compression,Php,String,Compression,我使用gzcompress(json_encode($arr),9)压缩数组。 所以我使用json_encode将数组转换为字符串,然后使用gzcompress进行压缩。 但是我找不到结果字符串的大小有多大差异。 压缩前大小为488KB,压缩后大小为442KB 有没有办法进一步压缩字符串 提前感谢。字符串的压缩效果取决于要压缩的数据。如果它主要由随机数据组成,那么在大小上就不会有那么大的改进。有许多算法是为特定用途而设计的 您应该尝试确定要压缩的数据主要包括哪些内容,然后选择适当的压缩 刚才我只
提前感谢。字符串的压缩效果取决于要压缩的数据。如果它主要由随机数据组成,那么在大小上就不会有那么大的改进。有许多算法是为特定用途而设计的 您应该尝试确定要压缩的数据主要包括哪些内容,然后选择适当的压缩
刚才我只能告诉你,bzip通常比gzip有更高的压缩率。我不确定你的数字是否正确,但是你可以使用
gzdeflate
而不是gzcompress
,因为gzcompress
在输出中增加了6个字节(开头多2个字节,结尾多4个字节)
一个简单的测试显示,一个1756800长度的字符串通过双重压缩压缩到99字节,如果压缩一次,则压缩到5164字节
$string=str_repeat('1234567890'。内爆('',范围('a','z')),48800);
echo strlen($string)//1756800字节
$compressed=gzdeflate($string,9);
$compressed=gzdeflate($compressed,9);
echo strlen(压缩)//99字节
echo gz充气(gz充气($compressed));