utilduck
Home · Desenvolvedor · Codificador / Decodificador Base64

Codificador / Decodificador Base64

Digite ou cole um texto, escolha Codificar ou Decodificar, e veja o resultado na hora.

Resultado
-

O que é Base64?

Base64 é um esquema de codificação que converte dados binários ou texto em uma sequência de 64 caracteres ASCII imprimíveis. É muito usado para transmitir dados em e-mails, incorporar imagens em HTML/CSS e enviar dados binários por canais que só aceitam texto. A decodificação reverte o processo, devolvendo o texto original.

Como codificar texto em Base64?

Para codificar texto em Base64, pegue os bytes brutos do texto, agrupe-os em conjuntos de 3 e mapeie cada grupo de 3 bytes (24 bits) para quatro caracteres do alfabeto Base64 de 64 caracteres; grupos finais incompletos recebem preenchimento com =. Exemplo: "hello" é codificado como "aGVsbG8=" e decodificar "aGVsbG8=" devolve "hello".

Passos para codificar e decodificar Base64

  1. Converta o texto de entrada em bytes brutos usando codificação UTF-8.
  2. Agrupe os bytes em conjuntos de 3 (24 bits no total), da esquerda para a direita.
  3. Divida cada grupo de 24 bits em quatro blocos de 6 bits (valores de 0 a 63).
  4. Mapeie cada bloco de 6 bits para um caractere do alfabeto Base64 A-Z, a-z, 0-9, +, /.
  5. Se o último grupo tiver menos de 3 bytes, preencha a saída com caracteres = para que o comprimento total seja múltiplo de 4; para decodificar, inverta cada etapa para recuperar os bytes originais.

Regra de codificação Base64

3 bytes (24 bits) -> 4 caracteres Base64 (6 bits cada), com preenchimento = até um múltiplo de 4
  • Alfabeto Base64 = A-Z, a-z, 0-9, +, / — 64 caracteres imprimíveis, cada um representando um valor de 0 a 63
  • O caractere de preenchimento = completa um grupo final incompleto, para que o comprimento da saída codificada seja sempre múltiplo de 4

Exemplos de conversão de texto para Base64

TextoBase64
aYQ==
abYWI=
abcYWJj
helloaGVsbG8=
Olá, Mundo!T2zDoSwgTXVuZG8h

Perguntas frequentes

A codificação Base64 é o mesmo que criptografia?

Não. O Base64 não tem chave secreta — qualquer pessoa pode decodificá-lo de volta ao texto original usando o mesmo alfabeto público e padronizado. Ele só muda a forma como os dados são representados para transmissão segura por sistemas que só aceitam texto; não oferece confidencialidade nenhuma e nunca deve ser usado para proteger dados sensíveis.

Por que a saída codificada às vezes termina com = ou ==?

Os caracteres = são preenchimento. O Base64 sempre converte grupos de 3 bytes de entrada em 4 caracteres de saída; se o comprimento da entrada não for múltiplo de 3, o último grupo recebe um ou dois sinais = para que o comprimento total da saída continue múltiplo de 4.

Por que a saída em Base64 é mais longa que o texto original?

Cada 3 bytes de entrada viram 4 caracteres de saída, então o texto codificado fica cerca de 33% maior que o original. Esse acréscimo é o preço para representar qualquer dado binário usando só caracteres ASCII seguros e imprimíveis.

O Base64 pode codificar qualquer tipo de dado, não só texto?

Sim. O Base64 opera sobre bytes brutos, então pode codificar imagens, áudio ou qualquer arquivo binário, não só texto. Esta ferramenta aceita entrada de texto e codifica sua representação em bytes UTF-8; codificar arquivos binários quaisquer exige uma ferramenta que leia os bytes do arquivo diretamente.

Esta ferramenta codifica e decodifica texto UTF-8 inteiramente no seu navegador; ela não aceita upload direto de arquivos binários, e decodificar um texto que não seja Base64 válido mostra um erro em vez de uma saída parcial ou corrompida.

Sources: RFC 4648 - The Base16, Base32, and Base64 Data Encodings