我正在使用 gzcompress(json_encode($arr),9) 压缩数组。
所以我使用 json_encode 将数组转换为字符串,然后使用 gzcompress 进行压缩。
但我找不到结果字符串大小的太大差异。
压缩前大小为 488 KB,压缩后大小为 442 KB。
有什么办法可以进一步压缩字符串吗?
提前致谢。
我不确定你的数字是否正确,但你可以使用gzdeflate
代替gzcompress
as gzcompress
向输出添加 6 个字节(在开头添加 2 个额外字节,在末尾添加 4 个额外字节)。
一个简单的测试显示,一个 1756800 长度的字符串通过双重压缩压缩到 99 字节,如果压缩一次则压缩到 5164 字节。
$string = str_repeat('1234567890' . implode('', range('a', 'z')), 48800);
echo strlen($string); //1756800 bytes
$compressed = gzdeflate($string, 9);
$compressed = gzdeflate($compressed, 9);
echo strlen($compressed); //99 bytes
echo gzinflate(gzinflate($compressed));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)