搜了下,大部分是都是数字 uint64 to base62
没有 buffer to base62 的,( buffer 可能很大,几十上百 k 甚至 M )
通过栈溢出 找到一篇 string to base62
但是他好像就是 用 9A 9B 9C 代表 62 63 64 ,这应该不算是 base62 吧
1
Nazz 2023-01-30 18:10:35 +08:00
为什么不用 base64
|
2
ysc3839 2023-01-30 18:16:52 +08:00 via Android
啥语言?
|
3
liuidetmks OP @ysc3839 随便什么语言吧,伪代码就行
|
4
ysc3839 2023-01-30 18:28:10 +08:00 via Android
@liuidetmks 那照着 base64 或者 base58 的代码改改就好了呀,原理是相通的
|
5
tool2d 2023-01-30 18:33:50 +08:00
|
6
liuidetmks OP |
7
tool2d 2023-01-31 10:20:14 +08:00
|
8
liuidetmks OP @tool2d 好吧,看来没有一个简单的方法可以完成 base62,必须引入大数类做除法
|
9
iqoo 2023-01-31 11:49:30 +08:00
用 9A 9B 9C 代表 62 63 64 就是转义的思路,实现最简单,可直接复用 base64 模块,但效率会略低点。
整个 buffer 做大数编码效率最高,但开销大。 按一定长度切开做大数,编码效率和开销大之间做平衡。 |
10
ysc3839 2023-01-31 11:51:45 +08:00 via Android
@liuidetmks 多谢指正,那 base58 呢?
|
11
vvhy 2023-01-31 12:18:49 +08:00 via Android
刚刚看了一篇 base58 的文章,不知道是否有帮助 https://wyhaines.io/base58-what-is-it-why-use-it
|