O Que É Codificação Base64?
Entenda o que é a codificação Base64, por que ela existe, o que ela muda em um arquivo e como se relaciona com a conversão de um PDF em uma string Base64.
- o que e codificacao base64
- definicao base64
- base64 explicado
- pdf me
Definição
Base64 é um esquema de codificação de binário para texto. Ele representa qualquer sequência de bytes — um PDF, uma imagem, uma fonte, uma chave de criptografia — usando apenas 64 caracteres ASCII imprimíveis: as letras de A a Z e de a a z, os dígitos de 0 a 9, e dois símbolos extras, geralmente + e /.
Como a saída usa apenas caracteres comuns e imprimíveis, ela consegue passar com segurança por sistemas feitos para carregar texto, não dados binários quaisquer.
Por Que Ele Existe
Muitos dos protocolos e formatos em que a web se apoia — padrões antigos de email, JSON, XML e URLs — foram criados em torno de texto, não de bytes brutos. Alguns desses canais removem, alteram ou rejeitam certos valores de byte.
O Base64 contorna o problema reexpressando o conteúdo binário como texto primeiro. É a mesma ideia por trás de converter um PDF em Base64: os bytes do arquivo se tornam uma string que qualquer campo de texto consegue guardar.
O Que Ele Não É
Base64 não é criptografia nem compressão. Ele não esconde nem protege dados — qualquer pessoa pode decodificá-lo instantaneamente — e a saída codificada é sempre maior que a entrada, nunca menor.
Também não é um formato de arquivo. Ele não sabe se os bytes que representa são um PDF, um JPEG ou outra coisa; essa informação precisa viajar junto, normalmente em um campo separado ou como parte de um data URI.
Como Se Relaciona com PDFs
Um PDF é apenas uma sequência de bytes como qualquer outro arquivo, então ele é codificado da mesma forma que uma imagem ou uma fonte. Para a mecânica da conversão, veja como funciona a codificação Base64, e para um passo a passo completo veja o guia de PDF para Base64.
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.
Codificação
O processo de converter dados de uma representação para outra — neste contexto, transformar os bytes binários de um PDF em uma string de texto Base64. Veja como funciona a codificação Base64 para a mecânica.
Decodificação
O inverso da codificação: converter uma string Base64 de volta nos bytes binários originais. Um PDF decodificado corretamente é idêntico, byte a byte, ao arquivo que foi codificado.
Data URI
Uma string que combina um valor codificado em Base64 com um prefixo que descreve seu tipo de arquivo, na forma data:application/pdf;base64,.... Navegadores e alguns visualizadores usam o prefixo para saber como renderizar os dados. Veja Base64 vs Data URI para saber quando cada forma se aplica.
Dados Binários
Dados armazenados como bytes brutos, em vez de texto legível por humanos. Um PDF, como qualquer formato de arquivo, é dado binário no nível de byte, independente de quanto texto ele contenha visualmente.
Tipo MIME
Um rótulo como application/pdf que identifica que tipo de conteúdo um dado representa. APIs e navegadores usam o tipo MIME para decidir como tratar, exibir ou decodificar um arquivo.
Payload de API
Os dados enviados no corpo de uma requisição ou resposta de API. Um PDF codificado em Base64 costuma viver dentro de um payload JSON como um campo entre vários — veja como usar um PDF em Base64 em uma requisição de API JSON para uma estrutura típica.