在JavaScript中,您可以使用以下方式将数字转换为特定进制的字符串表示形式:
(12345).toString(36) // "9ix"
你可以通过下面的代码将其转换回普通数字:
parseInt("9ix", 36) // 12345
最大的基数是36,可以使用字符0-9
和a-z
作为数字(共36个)。
我的问题是:将一个数字转换为64进制表示法的最快方法是什么(例如,使用A-Z
和-
和_
作为额外的28个数字)?
更新:有四个人发布了回复,称此问题重复,或者说我要寻找Base64。 我不是。
“Base64”是一种编码二进制数据的简单ASCII字符集,以使其在网络等上安全传输(这样纯文本系统就不会使二进制数据失真)。
这不是我所问的。我正在询问将数字转换为64进制字符串表示形式的方法。 (JavaScript的toString(radix)
自动为任何基数进行此操作,但我需要一个自定义函数来获得基数为64。)
更新2:这里是一些输入和输出示例...
0 → "0"
1 → "1"
9 → "9"
10 → "a"
35 → "z"
61 → "Z"
62 → "-"
63 → "_"
64 → "10"
65 → "11"
128 → "20"
etc.
-_
而不是+/
)。 然而,链接的问题只能将字符串转换为base64,这对您没有帮助。 - Mooing Duck