DocsME
6 min de leituraDocsMe Team

Como Funciona a Codificação Base64

Veja exatamente como o Base64 transforma bytes em texto — o mapeamento de 3 bytes para 4 caracteres, o alfabeto, o preenchimento e por que a saída fica cerca de 33% maior.

  • como funciona codificacao base64
  • algoritmo base64
  • preenchimento base64
  • alfabeto base64
  • pdf me

De Bytes a Caracteres Base64

O Base64 trabalha com o arquivo original 3 bytes — 24 bits — por vez. Cada grupo de 24 bits é dividido em quatro blocos de 6 bits, e cada bloco de 6 bits (um número de 0 a 63) é consultado em um alfabeto fixo para gerar um caractere de saída. Três bytes entram, quatro caracteres saem.

É por isso que toda string Base64 é construída a partir dos mesmos 64 símbolos, independente do tipo de arquivo — um PDF, uma imagem, uma fonte — que entrou. Veja o que é a codificação Base64 para o panorama completo.

O Alfabeto Base64

Os 64 valores possíveis de 6 bits mapeiam para: as letras maiúsculas A–Z (valores 0–25), as letras minúsculas a–z (valores 26–51), os dígitos 0–9 (valores 52–61) e, por fim, + e / (valores 62 e 63). Algumas variantes trocam os dois últimos símbolos — o Base64 seguro para URL usa - e _ em vez deles, para que a string caiba com segurança dentro de uma URL.

Preenchimento Com =

Um grupo de 24 bits só se forma de maneira limpa quando o tamanho da entrada é múltiplo de 3 bytes. Quando o último grupo de um arquivo sobra com apenas 1 ou 2 bytes, o Base64 preenche os bits faltantes com zeros e adiciona um ou dois caracteres = ao final da saída, para que os decodificadores saibam exatamente quantos dos últimos bits eram dados reais.

O preenchimento não carrega nenhuma informação do arquivo — ele só marca onde o conteúdo real termina, para que um decodificador saiba parar no lugar certo.

Um Pequeno Exemplo Resolvido

Codificar as duas letras "Hi" gera a string "SGk=". Os bytes de H e i formam 16 bits, que se dividem em três blocos completos de 6 bits mais 2 bits restantes preenchidos com zeros — três caracteres reais (S, G, k) seguidos de um caractere = de preenchimento, porque a entrada tinha 2 bytes, não um múltiplo de 3.

Por Que a Saída Fica Cerca de 33% Maior

Três bytes de dados binários sempre se tornam quatro caracteres de texto, uma proporção de 4:3 — cerca de 33% maior. Um PDF de 900 KB em disco se transforma em uma string Base64 próxima de 1,2 MB. Essa é a principal compensação a se planejar; veja a orientação de tamanho no guia de PDF para Base64.