Lição 1

O que é Base64?

Por que o Base64 existe e onde você o encontra como desenvolvedor.

Base64 é uma codificação de binário para texto. Mapeia bytes arbitrários (fotos, ciphertext, blobs protobuf, arquivos zipados) para um alfabeto restrito de 64 caracteres ASCII imprimíveis. O resultado parece lixo para humanos — mas sobrevive a canais que só toleram texto.

Base64 não é criptografia. Quem vê a string pode decodificar de volta aos bytes originais, salvo se você aplicou criptografia de verdade em outra camada.

Por que precisamos de codificação binário→texto

Muitos sistemas assumiram que “dados em trânsito” significava texto legível:

  • Corpos de e-mail e partes MIME antigas
  • Atributos JSON e XML que proíbem bytes nulos brutos ou caracteres de controle ambíguos
  • Query strings de URL e pipelines de log que engasgam com binário arbitrário
  • Depuração: imprimir fingerprint de bytes sem bagunçar o terminal

Base64 resolve transporte: tornar bytes seguros como texto. Não promete sigilo, autenticidade nem compressão.

Onde desenvolvedores encontram Base64

Você verá Base64 rotineiramente em:

  • Segmentos JWT (header.payload.signature) — cada parte são bytes JSON codificados em Base64 (muitas vezes variante URL-safe)
  • Embutir assets pequenos em HTML/CSS via data:image/png;base64,...
  • Cabeçalhos Authorization: Basic ... — bytes username:password codificados (ainda exige HTTPS em produção)
  • Plumbing de criptografia — blocos PEM envolvem estruturas DER; payloads PKCS costumam ir em Base64 dentro de envelopes de texto
  • Campos de API ou banco que guardam blobs opacos como VARCHAR/TEXT por compatibilidade

ASCII vs texto Unicode

Codifique texto com significado (“olá”) corretamente em UTF-8 primeiro, gerando bytes, depois aplique Base64 nesses bytes. Modelos mentais mistos — “já é Unicode?” vs “são octetos brutos” — são fonte frequente de bugs tratados mais adiante.

Alfabeto Base64 em resumo

O alfabeto clássico usa A–Z, a–z, 0–9, +, / mais = de padding no final. Mapeamento exato e regras de padding vêm nas próximas lições.

Resumo

Base64 transforma bytes opacos em texto ASCII seguro. Aprenda uma vez e JWTs, arquivos PEM, miniaturas em CSS e APIs com “campo binário como string” ficam mais fáceis de raciocinar — mesmo delegando a codificação à biblioteca todo dia.

Voltar à visão geral do curso