Conversão de valores entre bases

Como posso fazer a conversão de valores entre bases podendo-se utilizar bases até 36 (nesse caso representada pelos dígitos de 0 à 9 e letras de A à Z). Para isso basicamente duas funções são necessárias sendo elas a conversão de qualquer base para decimal e a conversão de decimal para qualquer dessas bases. Essas funções são utilizadas conforme necessário. Sendo de 0 a 9 e A á Z (A=10 , B=11 , C= 12, …)