让我说我有类似97463
的东西我想把它编码成字母说kljhs
我目前正在使用php / javascript,但我认为这是一个普遍存在的问题。
以可逆的方式做到这一点最有效的方法是什么?
(可逆的意思是给定数字我可以制作字母代码然后再给出数字代码我可以返回字母)
答案 0 :(得分:2)
你可以使用strtr函数
$input = '123456';
$output = strtr($input, '0123456789', 'abcdefghij');
要反转,请使用
$input = 'bcdefg';
$output = strtr($input, 'abcdefghij', '0123456789');
答案 1 :(得分:0)
您可以使用dechex()将数字编码为十六进制,并使用hexdec()进行反转:
$hex = dechex(97463); // "17cb7"
$dec = hexdec($hex); // 97463
或者,您可能希望使用base_convert(),从2到36转换为任意基数:
$enc = base_convert(97463, 10, 36); // "237b"
$dec = base_convert("237b", 36, 10); // 97463