Skip to main content
CheckTown
Dev Tools

Codificação e decodificação Base64: O guia completo do desenvolvedor

Publicado 5 min de leitura
Neste artigo

O que é Base64?

Base64 é um esquema de codificação que converte dados binários em uma string de caracteres ASCII. Utiliza 64 caracteres seguros (A-Z, a-z, 0-9, +, /) para representar qualquer dado binário, tornando-o seguro para transmissão em protocolos baseados em texto como cabeçalhos HTTP, e-mail (MIME) e JSON.

Base64 não é criptografia — é codificação. Qualquer pessoa pode decodificar Base64 de volta aos dados originais sem nenhuma chave. O propósito do Base64 é permitir que dados binários passem por sistemas projetados para texto, não para fornecer segurança.

Como funciona a codificação Base64

Base64 converte cada grupo de 3 bytes (24 bits) em 4 caracteres Base64 (6 bits cada), adicionando caracteres = de preenchimento se a entrada não for divisível por 3.

  • Agrupamento de bytes — os bytes de entrada são agrupados em conjuntos de 3 e convertidos em 4 caracteres de saída
  • Mapeamento de caracteres — cada grupo de 6 bits é mapeado para um dos 64 caracteres ASCII imprimíveis
  • Preenchimento — caracteres = são adicionados para garantir que o comprimento da saída seja sempre múltiplo de 4

Experimente gratuitamente — sem cadastro

Codificar ou Decodificar Base64 →

Quando usar Base64

Base64 é usado sempre que dados binários precisam ser incorporados em formatos baseados em texto.

  • Anexos de e-mail — a codificação MIME usa Base64 para anexar arquivos binários a mensagens de e-mail
  • Data URIs — incorpore imagens diretamente em HTML/CSS como data:image/png;base64,... para evitar requisições HTTP
  • Autenticação em APIs — credenciais de Basic Auth são codificadas em Base64 no cabeçalho HTTP Authorization

Perguntas frequentes

Base64 aumenta o tamanho dos dados?

Sim. A codificação Base64 aumenta o tamanho em aproximadamente 33%, pois cada 3 bytes de entrada produzem 4 bytes de saída. Essa é uma troca inerente para tornar dados binários seguros para texto.

Qual é a diferença entre Base64 padrão e Base64 seguro para URLs?

O Base64 padrão usa + e /, que têm significados especiais em URLs. O Base64 seguro para URLs (Base64url) substitui + por - e / por _ para produzir strings seguras para uso em URLs e nomes de arquivos sem codificação percentual. JWTs usam codificação Base64url.

Como lidar com Base64 em dados não UTF-8?

Base64 trabalha com bytes brutos, não com texto. Ao codificar dados binários como imagens ou conteúdo criptografado, trate-os como um array de bytes em vez de uma string. Em JavaScript, use Uint8Array ou Buffer; em Python, use objetos bytes para evitar problemas de codificação com dados não UTF-8.

Ferramentas relacionadas