A codificação base64 é usada para transmitir dados binários por meios de transmissão que lidam somente com texto, como por exemplo o protocolo SMTP ou o próprio HTTP que foi projetado para transferir textos ASCII, assim como imagens (que são convertidas em texto ASCII).
As conexões TCP suportam transmissão de bytes com 8 bits. Os dados do protocolo SMTP são caracteres ASCII de 7 bits, onde cada caractere é transmitido como um byte de 8 bits com o bit mais significativo zerado. No entanto, o protocolo SMTP interpreta o octeto 998 ou o caractere '.' como sendo uma nova linha, podendo gerar danos aos arquivos que contenham essa sequência de octetos. Assim, a conversão de bytes para ASCII tem sido bastante útil.
Conversão:
Na conversão da base64 o arquivo é dividido em bytes de 6 bits gerando 64 (0...63) possíveis valores, que são representados pelos caracteres: [A-Z] para (0-25), [a-z] para (26-51), [0-9] para (52-61), '+' para 62, '/' para 63 e '=' para adição, dando origem ao seu nome. A codificação da base64 não deve ser confundida com criptografia pois ela não garante nenhuma segurança.