Calculadora de Overhead de Codificação Base64
Entradas
| Tamanho binário | 1 MB |
|---|
Calculadora de Overhead de Codificação Base64
Informe o tamanho de dados binários para ver o tamanho da saída codificada em Base64 e quanto espaço extra a codificação adiciona.
Entradas
Entrada Binária
Resultados
Insira um valor para ver os resultados.
Saída Codificada
Detalhamento do Tamanho
Overhead de codificação Base64
Base64 é um esquema de codificação de dados binários para texto que representa dados binários arbitrários usando 64 caracteres ASCII imprimíveis. É o método padrão para embutir conteúdo binário em canais exclusivamente de texto — anexos de e-mail, URIs de dados em HTML, certificados PEM e cargas de APIs JSON dependem dele. A codificação é reversível e sem perdas, mas aumenta o tamanho dos dados em cerca de um terço.
Como funciona a codificação Base64
A Base64 lê a entrada binária em grupos de 3 bytes (24 bits) e mapeia cada grupo para quatro caracteres, cada um carregando 6 bits:
Cada um dos 64 caracteres representa um valor de 0 a 63, escolhido entre A–Z, a–z, 0–9, + e /. A saída garantidamente não contém caracteres de controle, bytes nulos ou bytes acima de 127 — segura para qualquer transporte compatível com ASCII.
A fórmula de tamanho
Como cada 3 bytes de entrada se tornam 4 bytes de saída, o tamanho codificado é:
O teto (ceiling) trata entradas cujo comprimento não é múltiplo de 3 adicionando um ou dois caracteres = de preenchimento ao grupo final.
O overhead como fração do tamanho original é:
Para entradas com número de bytes múltiplo de 3, esse valor é exatamente .
Exemplo
Um arquivo binário de 1 MB (1.000.000 bytes):
Implicações práticas
E-mail e MIME. Anexos são codificados em Base64 dentro do corpo da mensagem, razão pela qual um anexo PDF de 3 MB aumenta o tamanho do e-mail para cerca de 4 MB.
URIs de dados. Embutir uma imagem PNG de 200 KB como URI de dados em um arquivo HTML ou CSS produz cerca de 267 KB de texto, aumentando o peso da página. Para ícones pequenos, isso evita uma requisição HTTP adicional; para imagens grandes, é geralmente uma perda líquida.
APIs JSON. Blobs binários (imagens, trechos de áudio, assinaturas criptográficas) frequentemente são codificados em Base64 antes de serem inseridos em strings JSON, pois o JSON não possui tipo binário nativo. Os consumidores devem considerar o overhead de codificação ao planejar os tamanhos de payload.
Base64 segura para URL. Alguns sistemas substituem + por - e / por _ para produzir uma saída segura para segmentos de caminho de URL e parâmetros de consulta sem codificação de percentagem. O cálculo de tamanho é idêntico.
Calculadora de Taxa de Compressão auxilia a avaliar se comprimir antes de codificar pode compensar parcialmente o overhead — dados comprimidos frequentemente se codificam com mais eficiência por byte.
Conversor de Base Numérica é útil ao trabalhar com as representações hexadecimal ou binária que a Base64 efetivamente codifica.
Perguntas frequentes (FAQ)
Por que a Base64 adiciona cerca de 33% de overhead?
A Base64 codifica a cada 3 bytes de dados binários como 4 caracteres ASCII imprimíveis. Três bytes armazenam 24 bits de informação; quatro caracteres Base64 também armazenam 24 bits (6 bits cada), mas cada caractere ocupa um byte completo na forma de texto.
O resultado é que 3 bytes se tornam 4 bytes — um aumento de exatamente um terço, ou cerca de 33,3%. Se o comprimento da entrada não for múltiplo de 3, caracteres de preenchimento (=) são adicionados para completar o grupo final de 4 caracteres, o que pode elevar o overhead ligeiramente acima de 33%.
Quando e por que a codificação Base64 é utilizada?
A Base64 converte dados binários em um subconjunto seguro de caracteres ASCII imprimíveis para que possam trafegar por canais exclusivamente de texto sem corrupção. Usos comuns incluem a incorporação de imagens ou fontes diretamente em HTML e CSS (URIs de dados), o envio de anexos binários em e-mail (MIME), a codificação de chaves e certificados criptográficos (formato PEM) e a transmissão de cargas binárias em APIs JSON.
O overhead de 33% é o custo aceito para garantir transporte seguro em texto.
Como a Base64 se compara à codificação hexadecimal?
A codificação hexadecimal (base 16) representa cada byte como dois caracteres hexadecimais, dobrando sempre o tamanho dos dados — 100% de overhead. A Base64 usa 64 caracteres, armazenando 6 bits por caractere em vez de 4, o que permite codificar os mesmos dados em apenas 4/3 do número de caracteres, em vez de 2×.
A Base64 é a escolha padrão quando o tamanho da saída é importante; a codificação hexadecimal é preferida quando a legibilidade humana ou a depuração são prioridade, pois cada par de dígitos hex corresponde direta e obviamente a um byte.
O que é o preenchimento = no final da saída Base64?
A Base64 processa a entrada em grupos de 3 bytes. Quando o grupo final tem apenas 1 byte, dois caracteres = são adicionados; quando tem 2 bytes, um = é adicionado. Isso garante que o comprimento da saída seja sempre um múltiplo de 4 caracteres, simplificando a decodificação.
O preenchimento não carrega conteúdo informativo — alguns sistemas o omitem (Base64 segura para URL, por exemplo) e o reconstroem a partir do comprimento da saída durante a decodificação.