Todas as codificações de uma vez

Digite ou cole o texto uma vez e veja-o em binário, hex, na família Base32, em Base58, Base64, na família Base85, em Base91 e em outros formatos, lado a lado, cada um com seu próprio botão Copiar.

Funciona inteiramente no seu navegador. Nada é enviado.

Como usar

  1. Digite ou cole o texto na caixa de entrada.
  2. Todas as codificações são atualizadas enquanto você digita: binário, octal, decimal, hex, as variantes de Base32, de Base36 a Base91, uuencode e xxencode.
  3. Compare as saídas para ver qual é a mais curta ou qual usa apenas os caracteres que você pode aceitar.
  4. Clique em Copiar ao lado do resultado de que você precisa.

Todas as codificações a partir de uma única entrada

Cada codificação desta página transforma os mesmos bytes em um conjunto diferente de caracteres. Vê-las lado a lado é a forma mais rápida de escolher uma codificação para um projeto, de reconhecer uma string encontrada em um log ou arquivo de configuração, ou de entender como os formatos diferem. O texto é codificado como bytes UTF-8, então uma letra acentuada conta como dois bytes e um caractere chinês como três. Tudo é executado no seu navegador.

  • Números por byte. Binário, octal e decimal escrevem cada byte separadamente. São fáceis de ler, mas longos.
  • Grupos de bits. Hex, Base32 (com Base32hex, Crockford e z-base-32), Base64 e Base64URL atribuem a cada caractere um número fixo de bits, então o tamanho da saída depende apenas do tamanho da entrada.
  • Números grandes. Base36, Base58 e Base62 tratam a entrada inteira como um único número inteiro grande. O tamanho pode variar em um caractere conforme o valor, e os bytes zero iniciais são mantidos como caracteres iniciais.
  • Blocos. Base45 transforma 2 bytes em 3 caracteres, Ascii85, Z85 e Base85 transformam 4 bytes em 5, e Base91 acomoda 13 ou 14 bits em cada par de caracteres.
  • Linhas. uuencode e xxencode são formatos antigos de e-mail e Usenet que escrevem os dados em linhas, cada uma começando com um caractere de comprimento.

Comparação do tamanho da saída

Quantos caracteres cada codificação precisa por byte de entrada e qual o tamanho de um valor de 32 bytes, como um hash SHA-256 ou uma chave pública Ed25519, depois de codificado:

CodificaçãoCaracteres por byte32 bytes viram
Base16 (hex)2,064
Base321,656 (52 sem preenchimento)
Base36cerca de 1,5549 ou 50
Base451,548
Base58cerca de 1,3743 ou 44
Base62cerca de 1,3442 ou 43
Base64cerca de 1,3344 (43 sem preenchimento)
Base851,2540
Base91cerca de 1,2339 ou 40

Passar de hex para Base64 reduz o tamanho em um terço. Ir além, de Base64 para Base91, economiza apenas cerca de 8% a mais.

Qual codificação escolher

A saída mais curta nem sempre é a melhor. Ascii85 pode conter aspas e barras invertidas, e Base91 pode conter aspas duplas, então ambas podem precisar de escape em JSON, HTML ou comandos de shell. Pense em onde a string vai ser usada:

  • URLs e nomes de arquivo: Base64URL, Base58 ou Base62.
  • Leitura em voz alta ou digitação manual: Crockford Base32 ou Base58, que deixam de fora caracteres parecidos entre si.
  • Sistemas que não diferenciam maiúsculas e minúsculas: hex, Base32 ou Base36.
  • QR codes: Base45, que usa apenas os caracteres do modo alfanumérico do QR code.
  • Texto compacto em PDF, Git ou ZeroMQ: Ascii85, Base85 ou Z85.
  • Máxima compatibilidade: Base64, que quase todas as linguagens e plataformas suportam.

Perguntas frequentes

Qual codificação gera a saída mais curta?

Entre as codificações desta página, Base91 é a mais compacta, com cerca de 1,23 caractere por byte, seguida por Ascii85, Z85 e Base85, com 1,25. Base64 precisa de cerca de 1,33, mas tem suporte muito mais amplo, e é por isso que costuma ser a escolha padrão.

Por que os resultados em Base58 e Base62 variam de tamanho para entradas do mesmo tamanho?

Eles convertem a entrada inteira como um único número grande, então o tamanho depende do valor e não apenas da quantidade de bytes. Cada byte zero inicial também acrescenta um caractere inicial. Hex, Base32 e Base64 sempre geram o mesmo tamanho para a mesma quantidade de bytes.

Posso decodificar uma string nesta página?
Esta página apenas codifica. Para descobrir o que é uma string desconhecida, cole-a no detector de codificação. Para passar uma string de uma codificação para outra, use o conversor de codificações.
Por que a saída em binário é tão longa?

O binário escreve 8 dígitos para cada byte, além dos separadores, então tem pelo menos quatro vezes o tamanho do hex. Ele serve para observar bits individuais, não para armazenar ou transmitir dados.

Meu texto é enviado a um servidor?

Não. Todas as codificações são calculadas por JavaScript no seu navegador, e o texto nunca sai do seu dispositivo.