Transforme a string BASE64 em BASE16 (HEX)?

Hey, eu estou tentando escrever um programa para converter de uma string BASE64 em uma string BASE16 (HEX

Aqui está um exemplo:

     BASE64:   Ba7+Kj3N
HEXADECIMAL:   05 ae fe 2a 3d cd
     BINARY:   00000101 10101110 11111110 00101010 00111101 11001101
    DECIMAL:   5 174 254 42 61 205

Qual é a lógica para converter de BASE64 em HEXIDECIMAL?
Por que a representação decimal está dividida?
Por que a representação binária é dividida em 6 seçõe

Só quero a matemática, o código que eu posso lidar com esse processo está me confundindo. Obrigado :

questionAnswers(2)

yourAnswerToTheQuestion