Codificador e Descodificador Base64
Codifica e descodifica texto ou ficheiros em Base64 localmente no teu navegador.
A carregar Codificador e Descodificador Base64… Se nada acontecer, ativa o JavaScript.
O Base64 é um esquema de codificação de binário para texto que representa dados binários usando apenas 64 caracteres ASCII imprimíveis: as letras latinas maiúsculas e minúsculas, os dígitos de 0 a 9 e os símbolos + e /. Foi normalizado em 1987 como parte do RFC 989 para o correio com privacidade reforçada (Privacy Enhanced Mail) e mais tarde formalizado no RFC 4648. O nome vem do facto de cada caractere de saída codificar exatamente 6 bits, o que significa que cada 3 bytes de entrada binária se tornam exatamente 4 caracteres ASCII, uma sobrecarga de 33 % que compensa bem o ganho em compatibilidade.
Exemplos
Hello, World!
SGVsbG8sIFdvcmxkIQ==
Base64 padrão de texto UTF-8.
Café
Q2Fmw6k=
O que não é ASCII é primeiro codificado em UTF-8: é torna-se os bytes 0xC3 0xA9.
SGVsbG8sIFdvcmxkIQ==
Hello, World!
A descodificação reverte a transformação exatamente.
Perguntas frequentes
Os meus dados são enviados para um servidor?
O que são exatamente esses 64 caracteres que o Base64 usa?
Quando devo usar a codificação Base64 nos meus próprios projetos?
Como se compara o Base64 com a codificação hexadecimal?
Qual é o tamanho máximo de ficheiro que posso codificar ou descodificar?
Funciona offline e em todos os navegadores modernos?
Posso codificar ficheiros binários como imagens ou PDF?
O Base64 é uma forma de cifra?
Qual é a diferença entre Base64 padrão e Base64url?
Porque é que às vezes recebo um erro de 'caractere inválido' ao descodificar?
Sobre Codificador e Descodificador Base64
Os programadores recorrem ao Base64 todos os dias sem darem sempre por isso. Os Data URI que incorporam imagens ou tipos de letra diretamente em HTML e CSS usam Base64. Os JSON Web Token usam Base64url (uma variante segura para URL) para empacotar o cabeçalho e a carga útil. A autenticação básica HTTP codifica as credenciais como Base64 antes de as colocar no cabeçalho Authorization. Os certificados TLS, as chaves SSH e as mensagens PGP em armadura são todos distribuídos como ficheiros PEM envolvidos em Base64. Sempre que dados binários têm de sobreviver a uma camada de transporte ou armazenamento só de texto (correio, JSON, XML, variáveis de ambiente), o Base64 é a resposta padrão.
Esta ferramenta codifica e descodifica Base64 inteiramente dentro do teu navegador. Usa as funções btoa/atob integradas na plataforma para o texto e a API FileReader para o carregamento de ficheiros binários. Como todo o processamento acontece no teu próprio dispositivo, os teus dados nunca são transmitidos para nenhum servidor, o que torna seguro usá-la com credenciais sensíveis, chaves privadas ou documentos confidenciais. A ferramenta também suporta Base64 segura para URL, que substitui + por - e / por _ para que a saída possa ser incorporada em URL sem codificação percentual.
Alguns pontos a ter em atenção: o btoa lança um TypeError se a entrada contiver caracteres fora do intervalo Latin-1, por isso a ferramenta codifica automaticamente em UTF-8 o texto Unicode antes de o codificar. Ao descodificar, os caracteres de preenchimento finais (=) são opcionais em muitas implementações, mas alguns analisadores estritos exigem-nos; se receberes um erro de descodificação, tenta acrescentar um ou dois sinais =. O Base64 é uma codificação, não uma cifra: não oferece qualquer confidencialidade e qualquer pessoa o pode descodificar instantaneamente. Nunca guardes palavras-passe ou tokens em Base64 à espera de algum benefício de segurança.
As origens do Base64
O Base64 foi normalizado em 1987 como parte do RFC 989, que definiu o correio com privacidade reforçada (PEM) para a troca segura de correio eletrónico. O nome vem do facto de a codificação usar exatamente 64 caracteres ASCII imprimíveis, o maior subconjunto potência de dois que cabe confortavelmente na maioria das codificações de caracteres da época. O esquema foi mais tarde aperfeiçoado no RFC 1421 e documentado definitivamente no RFC 4648 (2006), que continua a ser a referência autoritária hoje.
Antes do Base64, enviar dados binários por sistemas de correio era notoriamente pouco fiável. Os primeiros relés de correio operavam em ASCII de 7 bits e corrompiam em silêncio os bytes acima de 127, tratando-os como códigos de controlo ou removendo o bit alto por completo. O Base64 resolveu isto mapeando cada 3 bytes de entrada binária em 4 caracteres imprimíveis retirados de um subconjunto de ASCII seguro e universalmente suportado, garantindo um trânsito fiel por qualquer canal só de texto.
Hoje, o Base64 está entretecido na trama da web. Um navegador moderno processa milhares de operações Base64 por carregamento de página sem que o utilizador dê por isso: a descodificar ficheiros de tipos de letra incorporados em CSS, a verificar tokens JWT em respostas de API, a apresentar imagens em linha em clientes de correio e a validar certificados TLS durante o aperto de mão HTTPS. O que começou como uma solução provisória para uma infraestrutura de correio falha dos anos 80 tornou-se uma das codificações mais silenciosamente essenciais da computação.