Como converter entre duas codificações quaisquer
- Cole a string na entrada. Com De em Detectar automaticamente, a linha de status diz o que a ferramenta acha que ela é: “Detectado: Base58 · Não está certo? Ler como [Base64] …”.
- Se o palpite estiver errado, clique em um dos botões Ler como ou ajuste De você mesmo.
- Escolha o destino em Para. Os formatos estão agrupados: texto, Base64, bytes e números, Base32, bases de números grandes, Base85/Base91/Base45, e codificações de e-mail, URL e legadas.
- As opções de cada formato aparecem abaixo do painel dele, por exemplo Alfabeto para Base58 e Base62 ou Preenchimento (=) para Base32 e Base64.
- ⇄ Inverter move a saída para a entrada e inverte os dois formatos. Copiar saída e Baixar levam o resultado, e Salvar bytes baixa os bytes decodificados como arquivo.
Toda conversão passa pelos bytes brutos: a entrada é decodificada e os bytes são codificados de novo. O contador Bytes abaixo da ferramenta mostra quantos são, o que muitas vezes é o jeito mais rápido de conferir se uma chave ou um hash está completo. As páginas específicas listadas acima abrem este mesmo conversor com os formatos já definidos.
Comparação das codificações
| Codificação | Alfabeto | Tamanho da saída | Overhead | Uso típico |
|---|---|---|---|---|
| Hex / Base16 | 16 | 2 caracteres por byte | 100% | Hashes, depuração, dumps de bytes |
| Base32 | 32 | 8 a cada 5 bytes | 60% | Segredos TOTP, endereços onion, IDs sem distinção de maiúsculas |
| Base36 | 36 | ≈ 1,55 por byte | ≈ 55% | IDs e números curtos sem distinção de maiúsculas |
| Base45 | 45 | 3 a cada 2 bytes | 50% | QR codes (certificados de saúde da UE) |
| Base58 | 58 | ≈ 1,37 por byte | ≈ 37% | Bitcoin, Solana, IPFS |
| Base62 | 62 | ≈ 1,34 por byte | ≈ 34% | URLs curtas e IDs |
| Base64 | 64 | 4 a cada 3 bytes | 33% | E-mail, JSON, data URIs, JWTs, quase tudo |
| Ascii85 / Z85 | 85 | 5 a cada 4 bytes | 25% | PDF, PostScript, Git, chaves do ZeroMQ |
| basE91 | 91 | ≈ 1,23 por byte | 14–23% | Espremer dados em ASCII imprimível |
| Uuencode / xxencode | 64 | 4 a cada 3 bytes, mais o enquadramento das linhas | ≈ 38% | Anexos antigos de e-mail e Usenet |
O overhead vale para dados aleatórios; nas bases de números grandes, ele varia em um ou dois caracteres conforme o valor. O Base45 parece desperdício aqui, mas no modo alfanumérico de um QR code seus 45 caracteres custam 5,5 bits cada, o que o deixa perto de 3%.
Para uma mesma entrada, eis a string de 5 bytes Hello em cada uma:
| Hex | Base32 | Base36 | Base45 | Base58 | Base62 | Base64 | Ascii85 | basE91 |
|---|---|---|---|---|---|---|---|---|
48656c6c6f | JBSWY3DP | 3yud78mn | %69 VDL2 | 9Ajdvzr | 5TP3P3v | SGVsbG8= | 87cURDZ | >OwJh>A |
Três jeitos de construir uma base
As codificações se dividem em três grupos, e o grupo explica a maior parte do comportamento delas.
Grupos de bits: hex, Base32, Base64, uuencode e xxencode. O tamanho do alfabeto é uma potência de dois, então cada caractere carrega um número fixo de bits (4, 5 ou 6). A codificação é rápida, funciona como stream, e o comprimento da saída depende só do comprimento da entrada.
Blocos fixos: Base45 (2 bytes em 3 caracteres) e a família Base85 (4 bytes em 5). O alfabeto não é potência de dois, então um bloco pequeno é convertido como número. Continua rápido e funciona em stream, com o comprimento de novo fixado pelo tamanho da entrada.
Números grandes: Base36, Base58 e Base62. A entrada inteira é um número, escrito na nova base. Qualquer tamanho de alfabeto funciona e a saída não tem preenchimento, mas cada byte afeta todos os caracteres, bytes zero no início exigem tratamento especial, e o custo cresce com o quadrado do tamanho. Este conversor preserva zeros iniciais como dígitos zero iniciais e limita essas bases a 64 KB de entrada.
O basE91 fica entre os grupos: ele lê 13 ou 14 bits por vez, então o comprimento depende um pouco do conteúdo.
Qual codificação escolher
- Programas conversando com programas: Base64, ou Base64URL dentro de URLs e tokens. Toda linguagem já tem, e nenhuma outra é tão amplamente entendida.
- Pessoas leem, digitam ou ditam o valor: Base32, de preferência a variante de Crockford, ou Base36. As duas ignoram maiúsculas e minúsculas; a de Crockford também evita letras parecidas.
- IDs opacos e curtos em URLs: Base62 para a string de letras e dígitos mais curta, Base58 se as pessoas puderem copiá-la à mão, já que ele elimina
0,O,Iel. - Um QR code: Base45 com o modo alfanumérico do QR.
- Cada byte conta e o canal é ASCII puro: Ascii85 ou Z85 para blocos fixos, basE91 para alguns por cento a mais.
- Inspecionar bytes: hex. O dobro do tamanho, mas cada byte vira dois caracteres que dá para ler.
- Um sistema legado exige: uuencode ou xxencode, e nada novo.
A comparação entre hex, Base32, Base58 e Base85 aprofunda as vantagens e desvantagens em relação ao Base64.
Perguntas frequentes
Qual é a codificação de texto mais compacta para dados binários?
Entre as comuns, o basE91 (cerca de 23% de overhead em dados aleatórios), depois a família Base85 (25%) e então o Base64 (33%). As codificações mais compactas usam pontuação que precisa de escape em JSON, HTML ou shells, o que muitas vezes torna o Base64 a melhor troca.
Qual codificação é melhor para URLs?
Base64URL para tokens gerados por máquina, por ser curto e padronizado. Base62 ou Base58 quando o valor deve ter só letras e dígitos, e Base32 ou Base36 quando ele precisa sobreviver a mudanças de maiúsculas e minúsculas. Base45 e Base85 têm caracteres que exigem codificação percentual.
Por que as saídas de Base58, Base62 e Base36 variam de comprimento?
Elas tratam a entrada como um único número grande, então o comprimento depende do valor, não só da quantidade de bytes. Base64, Base32 e hex mapeiam grupos fixos de bits e sempre dão o mesmo comprimento para o mesmo número de bytes.
Como a detecção automática decide o que é a minha string?
Ela testa a entrada contra as regras de cada formato, do mais característico (delimitadores como <~ ou begin 644) ao mais genérico, e decodifica com o primeiro que bater. Uma string curta pode ser válida em vários formatos; os botões Ler como deixam você escolher outra leitura.
Essas codificações protegem os dados?
Não. Qualquer pessoa reverte qualquer uma delas sem chave nenhuma. Elas só tornam os bytes imprimíveis. Veja codificação vs criptografia.