O que é codificação Base64? Uma explicação completa
Resposta rápida
A codificação Base64 converte dados binários em texto usando 64 caracteres imprimíveis (AZ, az, 0-9, +, /). Cada 3 bytes de entrada tornam-se 4 Base64 caracteres. Base64 é reversível (não criptografado) e aumenta o tamanho dos dados em aproximadamente 33%. Use nosso codificador e decodificador Base64 gratuito para converter em seu navegador.
Introdução
Base64 é um esquema de codificação binário para texto que converte dados binários em uma representação de string ASCII usando 64 caracteres imprimíveis. É definido pela RFC 4648 e é comumente usado para codificar dados que precisam ser transmitidos por meio de mídia projetada para lidar com anexos de texto - e-mail (MIME), dados URLs em HTML/CSS, partes de token JWT e cargas úteis JSON contendo dados binários. Base64 é codificação, não criptografia – é totalmente reversível e não requer chave. Qualquer pessoa pode decodificar Base64, portanto não fornece confidencialidade.
Passo a passo
-
Entenda o conjunto de caracteres
Base64 usa 64 caracteres: A-Z (26), a-z (26), 0-9 (10), + e / (2). O caractere = é usado para preenchimento quando o comprimento da entrada não é um múltiplo de 3. A variante segura URL substitui + por - e / por _ e omite o preenchimento.
-
Aprenda como funciona a codificação
Base64 processa entrada em blocos de 3 bytes (24 bits). Cada bloco de 24 bits é dividido em quatro grupos de 6 bits. Cada valor de 6 bits (0-63) é mapeado para um dos 64 caracteres. Se a entrada não for um múltiplo de 3, o preenchimento (=) é adicionado: entrada de 1 byte → 2 Base64 caracteres + ==, 2 bytes → 3 caracteres + =.
-
Entenda a sobrecarga de tamanho
Base64 aumenta o tamanho dos dados em aproximadamente 33% – cada 3 bytes transforma-se em 4 caracteres. Um arquivo de 1 MB torna-se aproximadamente 1,33 MB quando codificado em Base64. Essa sobrecarga é a compensação pela compatibilidade somente de texto.
-
Distinguir codificação de criptografia
Base64 é codificação, não criptografia. É reversível sem chave – qualquer pessoa pode decodificá-lo. Base64 não fornece confidencialidade; ele apenas converte binário em texto para transporte. Nunca use Base64 para armazenar senhas ou segredos.
Exemplos
Codificar texto
Entrada: Hello, World!
Saída: SGVsbG8sIFdvcmxkIQ==
Codifique dados binários (mostrados como hexadecimal)
Entrada: Bytes: 0x00 0x01 0x02
Saída: AAEC
URL-seguro Base64 (estilo JWT)
Entrada: Standard: SGVsbG8= → URL-safe: SGVsbG8 (no padding, - and _ for + and /)
Saída: Usado em tokens JWT e parâmetros URL
Problemas comuns
- Tratar Base64 como criptografia —Base64 é reversível sem uma chave. Qualquer um pode decodificá-lo. Nunca use-o para proteger dados confidenciais.
- Caracteres não ASCII —naive btoa() são lançados em Unicode. Use TextEncoder + btoa(unescape(encodeURIComponent(text))) ou uma ferramenta compatível com UTF-8.
- Remoção de preenchimento — o preenchimento = faz parte da codificação. Removê-lo interrompe a decodificação (embora alguns decodificadores possam reconstruí-la).
- A sobrecarga de tamanho —Base64 adiciona aproximadamente 33% ao tamanho dos dados. Para arquivos grandes, isso é significativo; considere se a codificação é necessária.
Dicas
- Use Base64 para dados URLs para incorporar pequenas imagens em HTML/CSS sem uma solicitação HTTP separada.
- Use URL-safe Base64 (substitua + por -, / por _, preenchimento de faixa) para tokens URLs e JWT.
- Base64 não é criptografia – use-a para compatibilidade de transporte, não para confidencialidade.
- Use nosso codificador e decodificador Base64 para conversão instantânea e privada em seu navegador.