Acabo de entender a que te referías, un sec que te respondo. Perdona por la respuesta anterior.
 
Para convertir dicimal a una base alta es relativamente simple. 
Primero tienes que crear un índice de símbolos. Por ejemplo el decimal tiene la siguiente equivalencia ('1' es un símbolo y 1 es un valor): 
'0'->0, '1'->1, '2'->2, ... , '9'->9 
El Hexadecimal tiene algo parecido solo que: 
'0'->0, '1'->1, '2'->2, ... , '9'->9, 'A'->10, ... ,'F'->16 
Bueno pues tu tienes que crearte un índice con valores de 39, 33, 70 carácteres. Cual es tu problema, que 70 es un número increíble de carácteres y o usas las tildes y los símbolos raros, o vas a tener que repeitr números, que es lo que hace la página (cada conjunto 17, es como un símbolo que vale 17). 
Te voy a explicar el sistema para este último método que no necesita que la base sea pequeña, ni definir el índice. 
Entonces definimos la base, por ejemplo, la enesimal (n)    
Código PHP:
Ver originalfunciton base_enesimal($num,$n=70){ //Esto es una función que pasa el número $num
 //a la base enesimal (siendo el valor por defecto $n=70. 
 $result = "";
 while($num > 0){
  $result = ($num % $n).",".$result; //Esto añade el carácter seguido de una , al inicio de la cadena
  $num = intval($num/$n); //Esto modifica el número que usamos para quitar el carácter que hemos extraido.  }
 return substr($result,0,-1); //esto quita la coma que aparecería al final y devuelve el resultado. }
  
Luego para deshacer el cambio se usa:    
Código PHP:
Ver originalfunciton enesimal_a_decimal($str,$n=70){
 $result = 0;
 $str = explode(",",$str); //dividimos la cadena en sus carácteres  $j = 0;
 foreach($str as $i) $result += $i*pow($n,$j); //esto invierte el algoritmo.  return $result;
}