O que é hexadecimal
O hexadecimal, ou hex, é um sistema numérico de base 16. Ele usa os dígitos de 0 a 9 e as letras de A a F, em que A significa 10 e F significa 15. Dois dígitos hex mostram qualquer valor de 0 a 255, que é exatamente um byte. Isso faz do hex um jeito compacto e legível de mostrar dados brutos.
Você encontra hex em despejos de memória, capturas de pacotes de rede, assinaturas de arquivos, códigos de cores, sequências de escape no código-fonte e logs de erro. Transformar esses bytes de volta em texto muitas vezes revela o que os dados dizem.
Como usar o conversor de hexadecimal para texto
Hex para texto. Cole o hex na caixa Hex, à esquerda. O texto decodificado aparece na caixa Texto, à direita. O conversor ignora os separadores mais comuns, então você pode colar:
- bytes com espaços:
48 65 6c 6c 6f - uma sequência única:
48656c6c6f - prefixos no estilo C:
0x48 0x65 0x6c - sequências de escape:
\x48\x65\x6c - bytes separados por dois-pontos ou vírgulas:
48:65:6c:6c:6f
Texto para hex. Digite na caixa Texto, à direita. O hex aparece à esquerda.
Formato do hex controla como o hex é escrito:
- Com espaços: 48 65 6c para ler e comparar
- Junto: 48656c para guardar de forma compacta e para strings no estilo de hash
- Com prefixo: 0x48 0x65 para C, C++ e linguagens parecidas
- Com escape: \x48\x65 para strings literais em Python, JavaScript e scripts de shell
Maiúsculas de A a F escreve as letras em maiúsculas. Copiar pega qualquer uma das caixas e Limpar esvazia as duas.
Como funciona
Para decodificar, o conversor tira os separadores, verifica se só sobraram dígitos hex e se a quantidade é par, e lê cada par de dígitos como um byte. Os bytes são decodificados como texto UTF-8. Para codificar, ele faz o contrário: o texto vira bytes UTF-8 e cada byte vira dois dígitos hex.
Cada dígito hex representa 4 bits. O byte 48 é 4 × 16 + 8 = 72, que é o código do H maiúsculo.
Exemplos
| Hex | Texto |
|---|---|
41 |
A |
48 69 21 |
Hi! |
48 65 6c 6c 6f |
Hello |
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 |
Hello, World! |
63 61 66 c3 a9 |
café |
e2 82 ac |
€ |
61 c3 a7 c3 a3 6f |
ação |
O mesmo texto em cada formato de saída:
| Formato | café |
|---|---|
| Com espaços | 63 61 66 c3 a9 |
| Junto, em maiúsculas | 636166C3A9 |
| Com prefixo | 0x63 0x61 0x66 0xc3 0xa9 |
| Com escape | \x63\x61\x66\xc3\xa9 |
Valores hex comuns
| Hex | Caractere | Hex | Caractere |
|---|---|---|---|
20 |
espaço | 30 |
0 |
0a |
nova linha | 41 |
A |
0d |
retorno de carro | 61 |
a |
09 |
tabulação | 7e |
~ |
Dicas e limites
- Um resultado sem sentido costuma indicar que os dados não são texto. Imagens, arquivos compactados e dados criptografados viram símbolos estranhos e caracteres de substituição. Isso é esperado.
- Texto antigo em português. Se um byte como
e7sozinho aparecer onde deveria estar um ç, o texto foi gravado em ISO-8859-1 ou Windows-1252, e não em UTF-8. Nessas codificações antigas, cada letra acentuada ocupa um único byte (e7é ç,e3é ã), e a decodificação em UTF-8 falha nesses pontos. - Confira a ordem dos bytes nos números. Esta ferramenta lê os bytes na ordem em que aparecem. Números de vários bytes em despejos de memória costumam estar em little endian, então leia da direita para a esquerda.
- Códigos de cores em hex não são texto.
#ff8800descreve os níveis de vermelho, verde e azul, e não letras. - Hex não é criptografia. É só outra forma de escrever bytes.
Outras formas de converter hex
Linha de comando. No Linux e no macOS, xxd -p transforma um arquivo em hex simples e xxd -r -p faz o caminho inverso. echo -n Hello | xxd -p mostra 48656c6c6f.
Python. bytes.fromhex('48656c6c6f').decode() devolve Hello, e 'Hello'.encode().hex() devolve 48656c6c6f.
JavaScript (Node). Buffer.from('48656c6c6f', 'hex').toString() devolve Hello.
Excel. =CARACT(HEXADEC("48")) devolve H para bytes ASCII isolados (em inglês, =CHAR(HEX2DEC("48"))). =DECAHEX(72) faz o caminho inverso.
Ferramentas relacionadas
Para ver os mesmos bytes como uns e zeros, use o tradutor de código binário. A ferramenta de codificação UTF-8 mostra cada caractere com o code point e os bytes. Se os seus dados estão em Base64, e não em hex, use o decodificador Base64.