5

我现在正在处理数十万行字符串。无论如何我可以将字符串压缩为像 MD5 一样,然后解压缩它?

4

2 回答 2

14

是的,您可以在 PHP(演示)中压缩和解压缩字符串:

$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 不是压缩而是散列。

另请参阅:如何在 PHP 中压缩/解压缩长查询字符串?

于 2012-06-01T22:02:04.217 回答
3

看看 PHP 提供的 ZLib 函数:http: //us.php.net/manual/en/ref.zlib.php

您可以使用gzencode()andgzdecode()的组合,或 and 的组合,或gzdeflate()andgzinflate()的组合。请记住使用与您使用的压缩函数匹配的解压缩函数,因为这三对函数都返回(或接受)略有不同的数据。gzcompress()gzuncompress()

您可能需要进行一些实际测试来确定这些对中的哪一对最适合您。祝你好运!

于 2012-06-01T22:06:57.443 回答