很有趣。我无法用 Javascript 复现这一点。因为据我所知,您最后的方法是 binary2hex 转换,但 base62 解码的结果不是二进制表示。
从 JS 的角度来看,我发现以下内容很有帮助:
https://www.npmjs.com/package/aybabtu
function fromBase62(s) {
var digits = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var result = 0;
for (var i = 0; i < s.length; i++) {
var p = digits.indexOf(s[i]);
if (p < 0) {
return NaN;
}
result += p * Math.pow(digits.length, s.length - i - 1);
}
return result;
}
不幸的是,当我使用您的输入字符串时,bin2hex 和 dec2hex 方法都没有帮助。
我为此问题创建了一个 codesandbox,有兴趣的人可以尝试一下。我的输入字符串的最终值为 1,这是错误的;(
谢谢