Интересно. Мне не удаётся воспроизвести это с помощью JavaScript. Поскольку ваш последний метод представляет собой преобразование из двоичной системы в шестнадцатеричную, но результат декодирования base62, насколько я понимаю, не является двоичным представлением.
С точки зрения JavaScript мне помогли следующие материалы:
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, что неверно ;(
Спасибо.