对于大于36个碱基的PHP,是否有一个碱基转换器?

对于大于36个碱基的PHP,是否有一个碱基转换器?,php,javascript,converter,base,Php,Javascript,Converter,Base,php只有36个基本转换器,我需要更多,我找到了代码,但它在js中,有人能帮我翻译成php吗 谢谢 function baseConverter (number,ob,nb) { // Created 1997 by Brian Risk. http://brianrisk.com //number = number.toUpperCase(); var list = "0123456789ABCDEFGHIJKLMNOPQRSTUVWX

php只有36个基本转换器,我需要更多,我找到了代码,但它在js中,有人能帮我翻译成php吗

谢谢

    function baseConverter (number,ob,nb) {
        // Created 1997 by Brian Risk.  http://brianrisk.com
        //number = number.toUpperCase();
        var list = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        var dec = 0;
        if(number=="0" || number=="" || number==0){
            number="0";
        }else{
            for (var i = 0; i <=  number.length; i++) {
                dec += (list.indexOf(number.charAt(i))) * (Math.pow(ob , (number.length - i - 1)));
            }
            number = "";
            var magnitude = Math.floor((Math.log(dec))/(Math.log(nb)));
            for (var i = magnitude; i >= 0; i--) {
                var amount = Math.floor(dec/Math.pow(nb,i));
                number = number + list.charAt(amount); 
                dec -= amount*(Math.pow(nb,i));
            }
        }
        return number;
    }
功能基本转换器(编号、ob、nb){
//由Brian Risk于1997年创建。http://brianrisk.com
//number=number.toUpperCase();
var list=“0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz”;
var-dec=0;
如果(数字==“0”| |数字==”“| |数字==0){
number=“0”;
}否则{
对于(变量i=0;i=0;i--){
var金额=数学下限(12月/数学功率(nb,i));
数字=数字+列表字符(金额);
十二月-=金额*(计算功率(nb,i));
}
}
返回号码;
}
函数基转换器($number、$ob、$nb){
$list=“0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz”;
$dec=0;
$number=(字符串)$number;
if(空($number)){
$number=“0”;
}
其他的
{
$number_len=strlen($number);
对于($i=0;$i=0;$i--)
{
$amount=最低限额($dec/pow($nb,$i));
$number=$number.$list[$amount];
$dec-=$amount*(pow($nb,$i));
}
}
返回$number;
}
var_转储(基本转换器(“789”,10,45));
将返回字符串(2)“HO”

注意,请阅读常见问题解答。这个问题不适合StackOverflow。如果您将问题更改为类似的“是否有一个base converter,用于大于36的base,用于PHP?”,您可能也会得到更好的答案。如果您只是在寻找base 64编码器:@dtanders感谢链接,但是那些base64编码器使字符串更长,我的程序只处理编码为自定义base62的base10数字,使url变得更短,更易于使用process@Pindatjuh嗯。。。这不仅仅是基础转换器,我还需要那些定制的alphabeth..:DI实际上是在试图找到一个JS转换器。谢谢
 function baseConverter ($number,$ob,$nb) {
        $list = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        $dec = 0;
        $number = (string)$number;
        if(empty($number)){
            $number="0";
        }
        else
        {
            $number_len  = strlen($number); 
            for ($i=0; $i<$number_len; $i++)
            {
                $dec += strpos($list, $number[$i])*(pow($ob, ($number_len-$i-1)));
            }
            $number = '';
            $magnitude = floor(log($dec)/log($nb));
            for($i=$magnitude; $i>=0; $i--)
            {
                $amount = floor($dec/pow($nb, $i));
                $number = $number.$list[$amount];
                $dec-= $amount*(pow($nb, $i));
            }
        }
        return $number;
     }

    var_dump( baseConverter("789", 10, 45));    

  will return string(2) "HO"