Codificador e decodificador Base64
Precisa converter texto legível para o formato Base64 para usar em cabeçalhos HTTP, ou decifrar o conteúdo de um token de API? Nosso Codificador e Decodificador de Texto Base64 é uma ferramenta especializada para trabalhar com strings de texto, capaz de lidar com complexidades como acentos ou caracteres especiais.
Está trabalhando com imagens?
Se o seu código começa comdata:image/png...ou se você deseja converter um arquivo em texto, esta ferramenta apenas mostrará caracteres sem sentido. Utilize nossa ferramenta especializada para conversão de imagem.
Como o formato Base64 funciona?
Muitas pessoas usam Base64 diariamente, mas poucos sabem como funciona “por baixo do capô”. Não é mágica, mas matemática simples com bits.
O texto comum em um computador é armazenado em 8 bits (1 byte). No entanto, o Base64 usa um “alfabeto” de 64 caracteres (A-Z, a-z, 0-9, +, /). Como 2^6 = 64, um caractere Base64 representa exatamente 6 bits de informação.
Processo de Conversão (Algoritmo):
- São usados três caracteres do seu texto (3 × 8 bits = 24 bits).
- Estes 24 bits são divididos em quatro grupos de 6 bits.
- Cada grupo recebe um caractere da tabela Base64.
Consequência: Como transformamos 3 caracteres em 4, a string Base64 resultante é sempre aproximadamente 33% mais longa do que o texto original.
Problema de conjunto de caracteres: Por que os conversores Base64 comuns estragam o tcheco?
Se você já tentou codificar a palavra “Kůň” no console do navegador usando a função btoa('Kůň'), provavelmente recebeu um erro: String contains characters outside of the Latin1 range.
O Base64 foi originalmente projetado para caracteres ASCII de 7 bits. No entanto, o tcheco, emojis e outros símbolos especiais (UTF-8) ocupam mais bytes na memória (multibyte characters).
- Letra
a= 1 byte. - Letra
ř= 2 bytes. - Emoji 🚀 = 4 bytes.
Nossa ferramenta resolve este problema. Antes de codificar para Base64, convertemos o texto corretamente para uma sequência de bytes UTF-8. Graças a isso, você pode codificar objetos JSON, textos tchecos e símbolos modernos sem o risco de corromper os dados.
Onde a codificação de texto Base64 é usada?
Enquanto imagens em Base64 servem principalmente para incorporação em CSS/HTML, o Base64 textual tem uma utilização completamente diferente em sistemas de backend:
1. Autenticação Básica HTTP
Quando você se autentica em uma API, o cabeçalho frequentemente tem esta aparência:
Authorization: Basic dXN1YXJpbzpzZW5oYQ==
Por trás deste código, esconde-se simplesmente um nome de usuário e senha combinados no formato usuario:senha. Nossa ferramenta permite que você gere ou verifique estes cabeçalhos facilmente.
2. JSON Web Tokens (JWT)
As aplicações web modernas usam os chamados JWT para autenticação. Um token assim parece três longas strings separadas por um ponto. A parte com os dados (Payload) é um objeto JSON comum codificado em Base64.
- Dica: Tente colar a parte do meio do seu token JWT aqui e decodificá-la. Você verá exatamente que dados a aplicação registra sobre você (ex: ID do usuário, expiração).
3. Arquivos de Configuração (Kubernetes Secrets)
Plataformas como Kubernetes armazenam dados secretos (Secrets) em arquivos de configuração YAML em Base64. Não se trata de criptografia, mas de uma forma de armazenar dados binários ou texto com caracteres problemáticos (novas linhas, aspas) em um arquivo de texto.
O que é “codificação Base64 URL Safe” e por que isso importa?
O alfabeto padrão Base64 contém os caracteres + (mais) e / (barra). Ambos estes caracteres têm um significado especial em URLs:
/separa diretórios.+é frequentemente interpretado como um espaço.
Se você enviasse Base64 padrão em um parâmetro de URL (ex: site.com?token=ab/cd+ef), o servidor poderia ler os dados incorretamente.
Solução (Modo URL Safe): Nosso botão ativa a variante Base64URL (conforme RFC 4648), que realiza estas alterações:
+muda para-(hífen)./muda para_(sublinhado).- No final, os caracteres
=(preenchimento) são removidos, pois não são necessários em URLs.
Mito: Base64 não é criptografia!
É importante compreender uma diferença fundamental que os iniciantes frequentemente confundem:
- Codificação (Encoding - Base64): Serve para a transferência de dados. É como embalar algo em uma mala para que não quebre durante a viagem. Qualquer um que encontre a mala pode abri-la (decodificar) e ver o conteúdo. Não é seguro para dados confidenciais.
- Criptografia (Encryption - AES, RSA): Bloqueia os dados com uma chave. Sem a chave, não é possível acessar o conteúdo.
- Hashing (Hashing - SHA, MD5): Um processo unidirecional (ex: para armazenar senhas). Não é possível obter o texto original a partir do resultado.
Se você precisar enviar uma senha ou dados sensíveis, o Base64 por si só não é suficiente. Use HTTPS (SSL/TLS), que criptografa a transmissão.