O que é Base64
Base64 é uma forma de representar dados binários ou de texto usando apenas 64 caracteres seguros, letras, números e alguns símbolos. Não é criptografia e não oferece segurança; é uma codificação que permite que os dados trafeguem com segurança através de sistemas que lidam apenas com texto, como e-mail, cargas JSON, URLs de dados e cabeçalhos HTTP. Esta ferramenta converte texto em Base64 e decodifica Base64 de volta em texto legível.
Quando você precisa do Base64
Os desenvolvedores encontram Base64 constantemente. Os anexos de e-mail são codificados em Base64 para que os arquivos binários sobrevivam ao transporte de e-mail somente texto. Imagens pequenas são incorporadas diretamente em CSS ou HTML como URLs de dados Base64 para salvar uma solicitação. Os cabeçalhos de autenticação básica carregam credenciais codificadas em Base64. JSON Web Tokens usam Base64 para seus segmentos. Quando você precisa inspecionar ou criar qualquer um deles, codificar e decodificar manualmente é impraticável, esta ferramenta faz isso instantaneamente.
Unicode tratado corretamente
Um bug comum com ferramentas Base64 é confundir caracteres acentuados ou não latinos, porque a codificação ingênua assume ASCII simples. Esta ferramenta codifica primeiro em UTF-8, para que letras acentuadas, emojis e caracteres de qualquer idioma sobrevivam intactos à viagem de ida e volta. Você pode codificar "café" ou texto em qualquer script e decodificá-lo exatamente como estava.
Base64 não é criptografia
Vale ressaltar: Base64 é trivialmente reversível e não oferece proteção. Qualquer um pode decodificá-lo em um segundo, inclusive com esta ferramenta. Nunca use Base64 para ocultar senhas ou dados confidenciais pensando que é seguro. É puramente uma codificação de transporte, útil para tornar os dados seguros em termos de texto, não para mantê-los secretos. Para segurança real, você precisa de criptografia real, o que é algo totalmente diferente.
Como funciona a codificação Base64
Base64 pega dados binários e os representa usando 64 caracteres imprimíveis, A a Z, a a z, 0 a 9, mais e barra, com o sinal de igual como preenchimento. Cada três bytes de entrada tornam-se quatro caracteres Base64, razão pela qual os dados codificados são cerca de um terço maiores que os originais. Essa expansão é a contrapartida para tornar seguro qualquer dado para incorporação em contextos somente de texto. A decodificação inverte exatamente o processo, recuperando os bytes originais.
URLs de dados e imagens incorporadas
Um uso diário do Base64 é o URL de dados, que incorpora um pequeno arquivo diretamente em HTML ou CSS em vez de vincular a ele. Um pequeno ícone codificado como um URL de dados Base64 é carregado com a página em vez de exigir uma solicitação separada, o que pode acelerar a renderização de pequenos ativos. Os desenvolvedores colam dados de imagem, codificam-nos e colocam o resultado em um atributo src. Para arquivos maiores, a penalidade de tamanho supera o benefício, mas para ícones pequenos e SVGs embutidos é uma técnica comum.
Base64 em tokens, e-mails e APIs
Base64 aparece em todo o desenvolvimento web. JSON Web Tokens codificam seus segmentos de cabeçalho e carga útil em Base64 para que viajem com segurança em cabeçalhos e URLs. Os anexos de email são codificados em Base64 para que os arquivos binários sobrevivam ao transporte de email baseado em texto. A autenticação básica HTTP codifica credenciais em Base64. Às vezes, as APIs aceitam ou retornam dados binários codificados em Base64 dentro de JSON. Quando você precisa inspecionar ou construir qualquer um deles, esta ferramenta codifica e decodifica instantaneamente, manipulando o Unicode corretamente para que nada seja corrompido.