我正在使用数十万行字符串。无论如何我可以将字符串压缩为像MD5一样,然后解压缩它?
答案 0 :(得分:11)
是的,您可以在PHP中压缩和解压缩字符串(Demo):
$str = 'Hello I am a very very very very long string';
$compressed = gzcompress($str, 9);
$uncompressed = gzuncompress($compressed);
echo $str, "\n";
echo $uncompressed, "\n";
echo base64_encode($compressed), "\n";
echo bin2hex($compressed), "\n";
echo urlencode($compressed), "\n";
然而,MD5不是压缩而是散列。
答案 1 :(得分:3)
查看PHP提供的ZLib函数:http://us.php.net/manual/en/ref.zlib.php
您可以结合使用gzencode()
和gzdecode()
,或gzdeflate()
和gzinflate()
的组合,或gzcompress()
和{{1的组合}}。请记住使用与您使用的压缩功能相匹配的解压缩功能,因为这三个功能对中的所有三个都返回(或接受)略有不同的数据。
您可能需要进行一些实际测试,以确定哪一对最适合您。祝你好运!