在JavaScript中,您可以将数字转换为具有特定基数的字符串表示,如下所示:
(12345).toString(36) // "9ix"
Run Code Online (Sandbox Code Playgroud)
...你可以将它转换回这样的常规数字:
parseInt("9ix", 36) // 12345
Run Code Online (Sandbox Code Playgroud)
36是您可以指定的最高基数.它显然使用了字符0-9和a-z数字(总共36个).
我的问题:什么是一个数字转换为基64表示以最快的方式(例如,使用A-Z,并-与_对额外的28位数字)?
更新:有四个人发布了回复,说这个问题是重复的,或者我正在寻找Base64.我不是.
" Base64 "是一种在简单的ASCII字符集中编码二进制数据的方法,使其可以安全地通过网络等传输(因此纯文本系统不会使二进制文件乱码).
那不是我要问的.我问的是将数字转换为基数64字符串表示.(JavaScript toString(radix)会自动为任何高达36的基数执行此操作;我需要一个自定义函数来获取基数64.)
更新2:以下是一些输入和输出示例......
0 ? "0"
1 ? "1"
9 ? "9"
10 ? "a"
35 ? "z"
61 ? "Z"
62 ? "-"
63 ? "_"
64 ? "10"
65 ? "11"
128 ? "20"
etc.
Run Code Online (Sandbox Code Playgroud) javascript ×1