Javascript 如何在没有库或模块的普通JS中从base-36转换为base-62

Javascript 如何在没有库或模块的普通JS中从base-36转换为base-62,javascript,python,base,base-conversion,radix,Javascript,Python,Base,Base Conversion,Radix,我正在寻找一个JS脚本,它将转换base-36数字,如: 23SQJ1LNEFSL00H18IVWABMP 1rZmfPo0xtnf8CLTfWRJh 到一个基数为62的数字,如: 23SQJ1LNEFSL00H18IVWABMP 1rZmfPo0xtnf8CLTfWRJh 我正试图翻译这段python代码来实现这一点 转换器.py 我如何才能做到这一点?以下是我在@Ryanmisth找到的答案 这将base-10转换为base-62 //https://helloacm.com //

我正在寻找一个JS脚本,它将转换base-36数字,如:

23SQJ1LNEFSL00H18IVWABMP
1rZmfPo0xtnf8CLTfWRJh
到一个基数为62的数字,如:

23SQJ1LNEFSL00H18IVWABMP
1rZmfPo0xtnf8CLTfWRJh
我正试图翻译这段python代码来实现这一点

转换器.py
我如何才能做到这一点?

以下是我在@Ryanmisth找到的答案


这将base-10转换为base-62

//https://helloacm.com
// https://rot47.net
//base62.js
//提供base10和base62之间的转换
var Base62=(函数(){
变量表='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZ';
函数_到10(num)
{
var limit=num.length;
var-res=0;
对于(变量i=0;i
请重复介绍教程中的内容。Stack Overflow不是一种编码或翻译服务。“我自己开始翻译它,但我感到困惑并被抛弃了”,然后发布代码,并问一个关于任何让你困惑的问题。
// https://helloacm.com
// https://rot47.net
// base62.js
// provides conversion between base10 and base62

var Base62 = (function(){                
  var table = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

  function _to10(num)
  {
    var limit = num.length;
    var res = 0;
    for (var i = 0; i < limit; i ++)
    {
      res = 62 * res + table.indexOf(num.charAt(i));
    }
    return res;  
  }

  function _toBase(num)
  {
    var r = num % 62;
    var res = table.charAt(r);
    var q = Math.floor(num / 62);
    while (q)
    {
      r = q % 62;
      q = Math.floor(q / 62);
      res = table.charAt(r) + res;
    }
    return res;
  }

  return {
    FromBase10: function()
    {
      var r = [];
      for (var i = 0; i < arguments.length; i ++)
      {
        var num = parseInt(arguments[i]);
        r.push(_toBase(num));
      }
      return r;
    },

    FromBase62: function()
    {
      var r = [];
      for (var i = 0; i < arguments.length; i ++)
      {
        var num = arguments[i].toString();
        if (num.length)
        {
          r.push(_to10(num));
        }
      }
      return r;    
    }
  } 
})();