Skip to content
DocsAll
教程

Princípio da codificação Base64: por que o tamanho cresce 33%

Timi Tian · Publicado em 7 de julho de 2026 · Atualizado em 12 de julho de 2026
Base64CodificaçãoCodificação de dados

O que é Base64

Base64 é uma forma de codificar dados binários em texto puro. Ele usa 64 caracteres imprimíveis (A-Z, a-z, 0-9, +, /) para representar qualquer dado binário, permitindo que binários sejam transmitidos por canais que suportam apenas texto (como JSON, XML, URL, e-mail).

Princípio da codificação

Tabela de caracteres

O Base64 usa 64 caracteres: A-Z maiúsculas (26), a-z minúsculas (26), dígitos 0-9 (10), sinal de mais + e barra /, totalizando 64. O sinal de igual = é usado como preenchimento no final.

Processo de codificação

  1. Divida os dados de entrada em grupos de 3 bytes (24 bits)
  2. Divida os 24 bits em 4 grupos de 6 bits cada
  3. Cada grupo de 6 bits corresponde a um caractere Base64 (2 elevado a 6 = 64, exatamente 64 caracteres)
  4. Se faltar para completar 3 bytes, preencha com =

Exemplo

3 bytes de entrada (24 bits) → 4 caracteres Base64. Por isso, o número de bytes após a codificação é 4/3 do original, ou seja, cerca de 133%, um aumento de 33%.

Por que aumenta 33%

Em essência, 1 byte consegue representar 256 valores (8 bits), enquanto cada caractere Base64 representa apenas 64 valores (6 bits). Para representar a mesma quantidade de informação, a codificação de 6 bits usa 8/6 = 4/3 de caracteres a mais que a de 8 bits. Por isso, o volume após a codificação Base64 é 4/3 do original, um aumento de 33%.

Esse é o custo inerente do Base64 — troca-se espaço por "texto transmissível".

Exemplo de codificação

Texto "Man" (3 bytes ASCII):

  • M = 77 = 01001101
  • a = 97 = 01100001
  • n = 110 = 01101110
  • Junta em 24 bits: 01001101 01100001 01101110
  • Divide em 4 grupos de 6 bits: 010011 010110 000101 101110
  • Corresponde aos caracteres Base64: T W F u
  • Resultado da codificação: TWFu

3 bytes viram 4 bytes, exatamente 4/3.

Variantes do Base64

Base64 padrão

A tabela de caracteres contém + e /, com preenchimento por = no final. Adequado para uso geral.

Base64 seguro para URL

  • e / têm significado especial em URL; são substituídos por - e _. Adequado para transmissão em URL.

Base64URL

Variante segura para URL, comum em JWT (JSON Web Token).

Base64 vs Base32 vs Hex

Base64

  • Conjunto de 64 caracteres
  • Aumento de 33% após a codificação
  • Caracteres incluem letras maiúsculas e minúsculas, dígitos e +/; diferencia maiúsculas de minúsculas

Base32

  • Conjunto de 32 caracteres (A-Z, 2-7)
  • Aumento de 60% após a codificação
  • Não diferencia maiúsculas de minúsculas e evita caracteres facilmente confundíveis; adequado para entrada manual

Hex (hexadecimal)

  • Conjunto de 16 caracteres (0-9, a-f)
  • Aumento de 100% após a codificação (cada byte vira dois caracteres)
  • O mais simples e compatível, mas o volume dobra

Volume: Hex > Base32 > Base64. Para um arquivo menor, escolha Base64; para compatibilidade e simplicidade, escolha Hex.

Base64 é criptografia?

Não. Base64 é codificação, não criptografia. Qualquer pessoa consegue decodificar, não há proteção por chave. Usar Base64 como criptografia é um equívoco grave — ele apenas "disfarça" os dados como texto ilegível, e decodificar devolve o texto original.

Para dados sensíveis que precisam de criptografia, use algoritmos como AES; Base64 serve apenas para codificação de transporte.

Casos de uso

Transmissão de dados

Dados binários transmitidos por canais de texto (JSON, XML, URL, e-mail) são codificados em Base64 como texto.

Incorporar imagens pequenas

Imagens pequenas são codificadas em Base64 e embutidas inline em HTML/CSS, reduzindo requisições HTTP (veja os usos de imagens em Base64).

JWT

O JSON Web Token usa Base64URL para codificar o header e o payload.

Data URI

O protocolo data URL usa Base64 para embutir recursos.

Basic Auth

A autenticação HTTP Basic usa Base64 para codificar usuário e senha (atenção: não é criptografia; use com HTTPS).

Codificar e decodificar com o DocsAll

A ferramenta de codificação e decodificação Base64:

  1. Insira o texto ou a string Base64
  2. Escolha codificar ou decodificar
  3. Converta com um clique
  4. Copie o resultado

Processamento no navegador, os dados não saem do dispositivo.

Armadilhas comuns

Tratar como criptografia

Base64 não é criptografia; não confie apenas em Base64 para "proteger" dados sensíveis.

Aumento de tamanho após a codificação

Arquivos grandes codificados em Base64 incham 33%, aumentando o custo de transmissão e armazenamento. Se houver canal binário, evite usar Base64.

Confusão de conjunto de caracteres

O Base64 padrão contém +/; para colocar em URL é preciso escapar ou usar a variante segura para URL. Misturar variantes provoca falha na decodificação.

O = final não pode ser omitido

O caractere de preenchimento = faz parte da codificação; omiti-lo pode causar erro de decodificação. Algumas implementações toleram a omissão, mas não é o padrão.

Resumo

Base64 é codificação, não criptografia: usa 64 caracteres para representar binários, e o aumento de 33% no volume é um custo inerente. A finalidade é permitir que binários trafeguem por canais de texto. Em contexto de URL, use a variante segura para URL. A ferramenta de codificação/decodificação do DocsAll roda no navegador, sem transmitir os dados.

T
Timi Tian 创始人 / 全栈工程师

DocsAll 创始人,10 年全栈开发经验,专注浏览器端文档处理技术与隐私保护架构。前新加坡科技公司技术负责人。