Codificador/Decodificador Base64
Base64 e um esquema de codificacao binario-para-texto que representa dados binarios usando 64 caracteres ASCII. E comumente usado para incorporar dados binarios em formatos baseados em texto como JSON, XML e URLs. Esta ferramenta decodifica Base64 para revelar o conteudo original e detecta automaticamente se o resultado e JSON, XML ou outros formatos parseeaveis.
Especificacoes
Casos de Uso Comuns
- Decodificar payloads de API e webhooks codificados em Base64
- Inspecionar dados codificados em tokens JWT
- Decodificar anexos de email (MIME Base64)
- Depurar mensagens de erro e stack traces codificados
- Visualizar valores de configuracao codificados em variaveis de ambiente
Funcionalidades
- Decodificar Base64 padrao para texto UTF-8
- Tratar variantes Base64 seguras para URL (- e _ em vez de + e /)
- Detectar automaticamente o tipo de conteudo decodificado (JSON, XML, etc.)
- Encadear para o parser apropriado quando dados estruturados sao detectados
- Codificar texto para Base64
- Pre-visualizacao de imagem para dados binarios de imagem decodificados
- Visualizador hexadecimal para dados binarios nao-UTF-8
- Badge de deteccao de formato (Standard / URL-Safe / Mixed)
Exemplos
JSON Codificado
Experimente →Uma string Base64 que decodifica para um objeto JSON.
eyJuYW1lIjoiRGVjb2RlVGhpcyIsInZlcnNpb24iOiIxLjAuMCJ9Texto Simples
Experimente →Uma mensagem de saudacao codificada em Base64 (decodifica para "Hello, World!").
SGVsbG8sIFdvcmxkIQ==Dicas
- Base64 e codificacao, nao criptografia. Nao fornece nenhuma seguranca.
- O preenchimento = no final pode ser omitido em algumas implementacoes.
- Base64 seguro para URL substitui + por - e / por _ para evitar problemas de codificacao de URL.
- Base64 aumenta o tamanho dos dados em aproximadamente 33%.
Entendendo Codificador/Decodificador Base64
Base64 e um esquema de codificacao binario-para-texto definido na RFC 4648 que representa dados binarios arbitrarios usando 64 caracteres ASCII imprimiveis (A-Z, a-z, 0-9, +, /) mais o caractere de preenchimento (=). Seu proposito principal e transportar dados binarios atraves de sistemas baseados em texto que podem nao lidar corretamente com bytes brutos, como email, payloads JSON, documentos XML e parametros de URL.
O processo de codificacao pega cada tres bytes (24 bits) de entrada e os divide em quatro grupos de 6 bits. Cada valor de 6 bits mapeia para um dos 64 caracteres. Quando o comprimento da entrada nao e multiplo de tres bytes, o preenchimento com um ou dois caracteres = completa a saida para um multiplo de quatro caracteres. Isso significa que dados codificados em Base64 sao aproximadamente 33% maiores que o original.
Existem duas variantes principais. Base64 padrao usa + e / e e utilizado na codificacao de email MIME. Base64 seguro para URL (base64url) substitui + por - e / por _ para evitar caracteres reservados de URL. Tokens JWT usam a variante segura para URL sem preenchimento. Algumas implementacoes omitem o preenchimento = final, pois o comprimento original dos dados pode ser inferido.
Base64 aparece em todos os lugares no desenvolvimento web. Data URIs incorporam imagens e fontes em HTML/CSS. Tokens JWT sao tres segmentos codificados em Base64url. Mensagens SAML sao XML codificado em Base64. Respostas de API podem codificar conteudo binario como Base64 dentro de JSON. Importante: Base64 e codificacao, nao criptografia — nao fornece nenhuma seguranca ou confidencialidade.
Base64 nao e uma forma de criptografia e nunca deve ser tratado como tal. Ele transforma dados em uma representacao diferente sem nenhuma chave ou segredo, e qualquer pessoa pode decodificar uma string Base64 instantaneamente. Se dados sensiveis estao codificados em Base64, estao completamente expostos. Para dados que precisam permanecer secretos, use algoritmos de criptografia reais como AES ou RSA. Base64 padrao usa + e / como caracteres 62 e 63, enquanto Base64 seguro para URL (base64url, definido na RFC 4648 Secao 5) os substitui por - e _ porque + e / tem significado especial em URLs. Tokens JWT sempre usam a variante segura para URL sem preenchimento.
Os caracteres de preenchimento = garantem que o comprimento da saida codificada seja sempre multiplo de 4 caracteres. Como Base64 codifica 3 bytes em 4 caracteres, entradas cujo comprimento nao e multiplo de 3 precisam de preenchimento: 1 byte restante produz ==, e 2 bytes restantes produzem =. Algumas implementacoes, incluindo JWT, omitem o preenchimento completamente, pois o decodificador pode calcular o comprimento original a partir do comprimento da string codificada.
O aumento de 33% no tamanho e inerente a codificacao: cada 3 bytes (24 bits) se tornam 4 caracteres ASCII (32 bits), uma razao de expansao fixa de 4/3 que nao pode ser reduzida. Se o tamanho e uma preocupacao, comprima os dados antes de codificar. Para grandes ativos binarios, considere mecanismos de transferencia binaria adequados como uploads multipart ou frames binarios de WebSocket em vez de incorporar Base64 em formatos de texto.