Base64 é um sistema numérico posicional com uma base de 64 caracteres ASCII (American Standard Code for Information Interchange) imprimíveis. O sistema é usado, por exemplo, para apresentar arquivos binários em e-mail. Todas as variantes Base64 usam os caracteres A-Z, a-z e 0-9, 62 caracteres no total, os dois caracteres ausentes são substituídos por caracteres diferentes nos sistemas de implementação. Cada três bytes originais são codificados com quatro caracteres.
Histórico da Base64
A princípio, apenas texto podia ser enviado por e-mail (RFC 822). Com o tempo, junto com o texto, foi necessário transferir arquivos de áudio, vídeo e gráficos, aplicativos, etc. Houve a necessidade de converter um arquivo binário em texto. O Base64 foi adicionado à codificação UUE existente (Uuencode), que é usada na especificação MIME (Multipurpose Internet Mail Extensions) (RFC 2045-2049).
MIME é um padrão para descrever cabeçalhos em mensagens eletrônicas. Seu uso permite enviar vários anexos em uma única carta, por exemplo, arquivos arquivados e de texto ou páginas HTML. Um programa de e-mail compatível com MIME extrai livremente o arquivo de um arquivo de texto, exibe a mensagem e analisa as tags HTML. Por exemplo, o Outlook Express executa automaticamente scripts incorporados em uma página HTML.
Base64 nasceu na era dos bytes de sete, seis e três bits. Codificações antigas não suportavam o padrão de oito bits, por causa disso, parte da informação era perdida ao ser transferida do sistema antigo para o novo. Muitas vezes, ao enviar cartas, o servidor de e-mail deixava cair um bit extra, oitavo, ou não transmitia vídeo e imagens. Para eliminar tais problemas, foram desenvolvidas codificações para converter código binário em texto. O sistema mais popular e eficaz é o Base64, devido à sua simplicidade, é usado em todos os lugares.
Um algoritmo chamado "codificação para impressão" foi descrito pela primeira vez em 1987, Base64 apareceu em junho de 1992. As versões deste sistema são Base16, Base32, Base36, Base58, Base85, Base91 e Base122. Padrões posteriores são usados ativamente no campo de TI.
Fato interessante
Alguns sistemas usam Base58 para codificar URLs, que difere de Base64 pela ausência de caracteres no texto final que podem ser percebidos de forma ambígua por uma pessoa. 0 (zero), O (latim maiúsculo o), I (latim maiúsculo i), l (latim minúsculo L) são excluídos. Também estão excluídos os caracteres + (mais) e / (barra), que, ao codificar um URL, podem levar a uma interpretação incorreta do endereço.
Base64 fornece codificação reversível e recuperável. O serviço traduz os caracteres da tabela de códigos de oito bits em caracteres que são preservados durante a transferência de informações em redes e entre dispositivos.