Texto para binário, hexadecimal e ASCII
Converte texto em códigos binários, hexadecimais, decimais ou octais e vice-versa, com bytes UTF-8 ou pontos de código Unicode e tabela de caracteres.
- Caracteres
- 0
- Pontos de código
- 0
- Bytes UTF-8
- 0
Tabela de caracteres
| Carácter | Ponto de código | Decimal | UTF-8 (hex) | UTF-8 (binário) |
|---|
Como usar o conversor de texto para binário
- Escreve ou cola o teu texto na caixa de entrada e clica em Texto → códigos. O resultado aparece por baixo e atualiza-se enquanto escreves.
- Escolhe o Formato: Binário (base 2), Hexadecimal (base 16), Decimal (base 10) ou Octal (base 8).
- Em Os códigos representam, mantém Bytes UTF-8 (compatível com ASCII) para o resultado habitual de «texto para binário», ou escolhe Pontos de código Unicode para obteres um número por carácter.
- Escolhe um Separador (Espaço, Nenhum, Vírgula ou Nova linha) e assinala Adicionar prefixo (0b, 0o, 0x) se precisares dos códigos escritos como as linguagens de programação os esperam.
- Para fazer o caminho inverso, cola os códigos e clica em Códigos → texto. A ferramenta adivinha o formato quando mudas de sentido, e podes corrigi-lo em Formato.
Copiar copia o resultado, e Usar o resultado como entrada passa o resultado para a caixa de entrada e inverte o sentido, uma forma rápida de verificar a conversão de ida e volta. A Tabela de caracteres lista cada carácter com o seu ponto de código, o valor decimal e os bytes UTF-8 em hexadecimal e em binário.
ASCII, Unicode e UTF-8
Os computadores guardam o texto como números. O ASCII, definido nos anos 60, atribui um número de 0 a 127 às letras inglesas, aos algarismos, à pontuação e a alguns caracteres de controlo: «H» é 72, ou seja, 01001000 em binário e 48 em hexadecimal. O ASCII não tem lugar para «é», «ç», «ã», «€» nem emojis, por isso o texto atual usa o Unicode, que dá a cada carácter um ponto de código, escrito como U+00E9 para «é».
O UTF-8 é a forma como quase todas as páginas web e ficheiros guardam esses pontos de código em bytes. A sua grande vantagem é a compatibilidade: os 128 caracteres ASCII mantêm um único byte, por isso «Hello» dá exatamente o mesmo binário em ASCII e em UTF-8. Os outros caracteres ocupam 2 a 4 bytes: «é» é C3 A9 (dois bytes), «€» é E2 82 AC (três) e 😀 é F0 9F 98 80 (quatro). A ferramenta indica quantos caracteres ficam fora do ASCII, e os contadores mostram o número de Caracteres, Pontos de código e Bytes UTF-8. Estes valores podem ser diferentes: 👍🏽 é um carácter visível formado por dois pontos de código e oito bytes.
Descodificar códigos em texto
Ao descodificar, os códigos podem estar separados por espaços, vírgulas, pontos e vírgulas ou quebras de linha. Os prefixos como 0b, 0x, \x, U+ e as entidades HTML como H ou H são removidos automaticamente. Os bytes em binário e hexadecimal também podem ser colados sem separadores: 0100100001101001 é dividido em grupos de 8 bits, e c3a9 em pares de algarismos hexadecimais.
A ferramenta verifica cada código e diz-te exatamente qual está errado: um algarismo que não pertence à base escolhida, um byte acima de 255, um grupo que não se divide por igual ou um ponto de código acima de U+10FFFF. Se os bytes forem números válidos mas não formarem UTF-8 válido (por exemplo C3 seguido de 28), o texto é mostrado na mesma, com � no lugar da sequência inválida, e uma mensagem explica porquê.
Exemplos
- «Hi» em binário: 01001000 01101001
- «Hi» em hexadecimal: 48 69
- «Hi» em decimal: 72 105
- «é» em bytes UTF-8 hexadecimais: C3 A9; como ponto de código: E9
Perguntas frequentes
Qual é a diferença entre ASCII e binário?
O ASCII é uma tabela que atribui números a caracteres. O binário é apenas uma forma de escrever esses números com 0 e 1. Converter texto em binário significa procurar o número de cada carácter e escrevê-lo em base 2.
Porque é que o «é» ocupa 16 bits em vez de 8?
Em UTF-8, só os 128 caracteres ASCII cabem num byte. As letras acentuadas precisam de dois bytes, por isso «é» passa a 11000011 10101001. Com Pontos de código Unicode, «é» é o número único 11101001 (233).
Posso descodificar binário sem espaços?
Sim, para bytes em binário ou hexadecimal, desde que o comprimento seja múltiplo de 8 bits ou de 2 algarismos hexadecimais. Os códigos decimais precisam de separador, a não ser que cada um tenha exatamente 3 algarismos.
Que opção corresponde a «texto para hex» em programação?
Bytes UTF-8 em hexadecimal. Dá o mesmo resultado que codificar uma cadeia de caracteres em UTF-8 em Python, JavaScript ou na maioria das outras linguagens.
O meu texto é enviado?
Não. A conversão é feita inteiramente no teu navegador; nada é enviado pela rede.
Ferramentas relacionadas
- Codificador e descodificador Base64 Codifica e descodifica Base64 online, com suporte completo de UTF-8 e a opção base64url segura para URL. Tudo no teu navegador, nada é enviado.
- Tradutor de código Morse Traduz texto para código Morse e Morse para texto segundo a norma UIT, ouve-o à velocidade que quiseres com espaçamento Farnsworth e transfere-o em WAV.
- Cifra de César e ROT13 Cifra e decifra texto com a cifra de César, ROT13 ou ROT47, vê o alfabeto deslocado e descobre uma chave desconhecida testando os 25 deslocamentos.
- Codificador e descodificador de URL Codificador e descodificador de URL gratuito. Codifica parâmetros ou URLs completos, descodifica sequências %XX e trata + como espaço, no navegador.