无法手动编码Base62

问题描述 投票:0回答:1

我正在尝试手动对字符串

Hi
进行 Base62 编码。我的流程如下:

将“cat”的每个字符转换为其各自的ascii值:

H -> 99  -> 01001000
i -> 105 -> 01101001

重新组织成 6 位段:

010010 000110 1001

x 用于填充:

010010 000110 1001xx

参考Base62索引表转换为Base62:

010010 -> I
000110 -> 6
1001xx -> a
xxxxxx -> 0

这给了我

I6a0
,我知道这是错误的,因为在线编码器会给我
4oz
。我在这里做错了什么?正确的做法是什么?

encoding character-encoding base62
1个回答
0
投票

将 bxt 字符串分割成六位块对于 Base64 是正确的,因为它相当于除以 64;但你需要除以 62。

这么多话,24位数字是一个大整数。从n=2开始(因为整个数小于623),除以62n;整数商推导出第一个数字(您可以在 Wikipedia 上的表格中查找)并使用 n-=1 重复余数,就像任何基数 - x 转换一样。

© www.soinside.com 2019 - 2024. All rights reserved.