PHP:非常简单的Encode / Decode字符串

时间:2010-06-30 00:00:32

标签: php string int decode encode

是否有任何PHP函数将字符串编码为int值,稍后我可以将其解码回没有任何键的字符串?

6 个答案:

答案 0 :(得分:5)

当然,您可以convert strings to numbers,反之亦然。考虑:

$a = "" + 1
gettype($a) // integer
$b = "$a"
gettype($b) // string

您也可以type castingsettype()进行对比。

如果我误解了你并想要编码任意字符串,请考虑使用base64_encode()bas64_decode()。如果要将基本64字符串表示转换为基数为10的整数,只需使用base_convert()

答案 1 :(得分:2)

int取决于平台有4或8个字节,字符串中的每个字符都是一个字节(或多个取决于编码)。因此,您只能将非常小的字符串编码为整数,这基本上可以回答您的问题:否。

你想要完成什么?

答案 2 :(得分:1)

我怀疑没有,因为在MAX_INT中有更多可能的字符串组合而不是整数。

它必须是整数吗?

答案 3 :(得分:1)

我确信你认为你想做的事情并不是你想要做的。 :-)这听起来像是一个愚蠢的想法。正如另一位用户之前问过的那样:)您需要这个吗?你的意图是什么?

现在您提到数字和a-z字母是可以接受的,那么我有一个建议,您可以循环显示单个字母的序数值并将其显示为两位十六进制。然后,您可以将这些十六进制转换回单个字符的序数值。不知道你要编码什么样的字符,可能你需要每个字母使用4个字符(例如字符串Peter将成为00700065007400650072)嗯......玩得开心,我还是不要我真的看到了做你正在做的事情的理由。

答案 4 :(得分:1)

通过单个字母'序数值,并将其显示为两位十六进制。然后,您可以将这些十六进制转换回单个字符的序数值。不知道你要编码什么样的字符,可能你需要每个字母使用4个字符(例如字符串彼得会变成00700065007400650072)嗯...玩得开心,我还是没有真正看到

答案 5 :(得分:1)

PHP没有功能,但我最近写了一个类来加密和解密PHP中的字符串。您可以在https://github.com/Lars-/PHP-Security-class

查看