如何修剪Base-64编码的字符串?

时间:2010-08-05 10:37:02

标签: php base64

我不是一个PHP专家。我正在使用base64_encode对网址进行编码。 我得到了一个很长的编码字符串,其中包含许多奇怪的字符,正如我想要的那样。 有没有办法修剪这一长串字符让我们说10或15个字符,所以我可以在以后再解码它?

我知道有trim(),但这并不是我想要的。我想要一个长编码的字符串相当短,后来我想再次解码它。

有什么想法吗?

1 个答案:

答案 0 :(得分:8)

在不丢失某些数据的情况下,不可能“缩短”任何字符串。

  • 如果您想缩短编码字符串(最终结果只是该字符串的一部分),请应用substr(),但不是在编码版本上:您需要先解码它,然后重新编码缩短版本。

  • 另一种选择是压缩字符串。这个可能会缩短它:查看gzcompress()。但是,您的里程可能会有所不同:压缩率取决于您拥有的数据类型。对于小输入字符串,结果甚至可能比原始字符串大。

  • 如果您想在多页面处理中重复使用变量,并且不想通过链接或表单传输它,请考虑生成一个短随机密钥,并且将数据存储在用户的会话中:

    $_SESSION[$randomKey] = "lllloooooooooooong data here";
    

    您可以传递随机密钥,并始终使用$_SESSION[$randomKey]访问“长”数据。您需要初始化session