如何使用PHP将数字转换为字母数字系统

mrp*_*atg 4 php

我不确定这叫什么,这就是为什么我在搜索它时遇到了麻烦.

我想要做的是取数字并将它们转换为一些字母数字基数,这样数字,比如5000,不会读作'5000'而是'G4u',或类似的东西.这个想法是为了节省空间,也没有明确给定系统中有多少记录.我正在使用php,所以如果有更好的内置这样的东西,甚至更好,但即使这个方法的名称将在这一点上有所帮助.

再次,抱歉没有能够更清楚,我只是不确定这叫什么.

Yac*_*oby 8

您想要将数字的基数更改为基数10以外的其他值(我认为您需要基数36,因为它使用整个字母和数字0 - 9).

内置的base_convert函数可能有所帮助,尽管它确实有限制,它只能在base 2和36之间进行转换

$number = '5000';
echo base_convert($number, 10, 36); //3uw
Run Code Online (Sandbox Code Playgroud)


Pek*_*ica 5

有趣的是,我昨天问了完全相反的问题

首先想到的是将十进制数转换为十六进制数。5000变成138810000 2710。将在这里和那里保存一些字节。

您还可以使用更高的基数,该基数使用完整的字母(0-Z而不是0-F)或什至完整的256个ASCII字符。正如@Yacoby指出的那样,您可以使用base_convert()它。

正如我在评论中所说,请记住,这不是掩盖ID的有效方法。如果您在人们可以猜测记录的下一个或上一个ID时遇到安全问题,则这是非常差的保护。