Hier ist in PHP ein Ansatz für etwas mehr als das, was Du in Javascript suchst (Du musst es nur umschreiben...):
<?php
function getBigNumArray() {
# Das Zahlensystem besteht aus den Elementen ...
return array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
# test hexadezimal: return array ('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
# test oktal: return array ('0','1','2','3','4','5','6','7','8');
# test dual: return array('0','L');
}
function getBigNumHash() {
# kehrt den Array um. Es entsteht ein "hash"
$ar=getBigNumArray();
$i=0;
foreach ($ar as $element) {
$hash[$element]=$i++;
}
return $hash;
}
function getNumberFromString($str) {
# gibt die dezimale Entsprechung der Zahl aus dem beliebigen Zahlensystem zurück
$hash=getBigNumHash();
$number=0;
$length=strlen($str);
for ($i=$length; $i>0; $i-- ) {
$inv=$length-($i);
$char=$str{($i-1)};
if ($hash[$char] != 0) {
$add=pow(count($hash),$inv)*($hash[$char]);
} else {
$add=0;
}
$number=$number+$add;
}
return $number;
}
function getStringFromNumber($int) {
# gibt die Zahl als eine aus dem beliebigen Zahlensystem zurück
$ar=getBigNumArray();
$length=count($ar);
$str='';
$positions=0;
while ( pow($length, ($positions)) <= $int) {
$positions++;
}
for ($i=$positions; $i>0; $i--) {
$potenz = pow($length, $i-1);
$pos = floor($int/$potenz);
$int = $int % $potenz;
$str = $str . $ar[$pos];
}
return $str;
}
Jörg Reinholz