【发布时间】:2011-02-28 06:06:19
【问题描述】:
是否有一种通用的方法来编码和解码任意数据,因此编码的最终结果仅包含数字 - 例如 base64_encode 但没有字母?
虚构的例子:
$encoded = numbers_encode("Mary had a little lamb");
echo $encoded; // outputs e.g. 12238433742239423742322 (fictitious result)
$decoded = numbers_decode("12238433742239423742322");
echo $decoded; // outputs "Mary had a little lamb"
【问题讨论】:
-
字符串只是一组映射到人类可读字符的数字。告诉我们更多关于你为什么要做这样的事情,你可能会得到一个很好的答案。您希望能够将数字转换回原始字符串吗?如果没有,散列函数可能就足够了。
-
@William 在我目前的情况下,我想将一个由数字和字母(内部 ID,看起来很丑)组成的 16 个字符的 URL 标识符转换为“仅数字”表示,以使其更容易眼睛,用作访问 CMS 中不同内容块的锚点。
-
@Pekka:你虚构的结果似乎有点乐观,不是吗?它比原始字符串短一个字符! ;-)
-
@Andy 嘿,我不仅想要编码,我还想要压缩!那不用说了。请在四行 PHP 中。
-
@Joel 我是在开玩笑,最初给的虚拟数字太少了。