Conversor de HEX para ASCII

Capturas de rede, dumps de protocolo e quebra-cabeças de CTF geram sequências de bytes hexadecimais. Cole qualquer coisa, de 48 65 6c 6c 6f a 0x48656c6c6f ou 48-65-6c, e este conversor remove os separadores, decodifica os bytes e mostra o texto que eles representam. Bytes que formam texto UTF-8 válido, incluindo caracteres acentuados, aparecem diretamente como texto legível.

Como converter hex para ASCII

  1. 1

    Cole a entrada hex

    Espaços em branco, prefixos `0x` e separadores comuns (traço, dois pontos, espaço) são aceitos e removidos automaticamente.

  2. 2

    Confira se a entrada é válida

    A sequência precisa ter um número par de dígitos hex e decodificar para bytes de texto válidos; caso contrário, o conversor informa o que está errado.

  3. 3

    Leia o texto decodificado

    Texto UTF-8 válido é decodificado como está, então caracteres acentuados como `é` (bytes `c3 a9`) aparecem corretamente no resultado.

  4. 4

    Copie o texto

    A string decodificada aparece abaixo da entrada e pode ser copiada com um clique.

Noções básicas de Hex para ASCII

ASCII é uma codificação de caracteres de 7 bits definida na ANSI X3.4-1986; cada byte de 0x00 a 0x7F mapeia exatamente para um caractere.

Faixas principais de ASCII

Faixa Hex Categoria Exemplos
0x00 - 0x1F Códigos de controle 0x0A nova linha, 0x09 tab
0x20 Espaço
0x21 - 0x2F Pontuação ! " # $ % & '
0x30 - 0x39 Dígitos 0-9 0x30 = 0, 0x39 = 9
0x41 - 0x5A Maiúsculas A-Z 0x41 = A, 0x5A = Z
0x61 - 0x7A Minúsculas a-z 0x61 = a, 0x7A = z
0x7F DEL Não imprimível
0x80 - 0xFF Fora do ASCII Continuação UTF-8 ou Latin-1

Formatos de entrada aceitos

Todos esses decodificam de forma idêntica:

  • 48 65 6c 6c 6f
  • 48656c6c6f
  • 0x48 0x65 0x6c 0x6c 0x6f
  • \x48\x65\x6c\x6c\x6f
  • 48-65-6c-6c-6f

O parser tolera dígitos hexadecimais em maiúsculas e minúsculas e remove separadores comuns.

Quando ASCII não é suficiente

Bytes acima de 0x7F não são ASCII. Se sua entrada contém c3 a9, isso é UTF-8 para é. O conversor decodifica UTF-8 válido automaticamente, então o caractere acentuado aparece no resultado. Entradas que não são texto UTF-8 válido são rejeitadas com um erro em vez de gerar saída ilegível.

Usos típicos

  • Lendo um dump hex+ASCII de tcpdump -X manualmente.
  • Decodificando blobs hex colados do inspetor de memória de um depurador.
  • Resolvendo quebra-cabeças de CTF para iniciantes onde a bandeira está codificada em hex.
  • Confirmando que um campo de protocolo binário realmente contém texto imprimível.

Perguntas frequentes

Pode ser, mas este conversor espera texto UTF-8. Em dados UTF-16, cada caractere ocupa dois bytes e a maioria desses bytes não é UTF-8 válido por conta própria, então a entrada é rejeitada. Converta os dados UTF-16 primeiro com uma ferramenta dedicada.

Os bytes precisam decodificar para texto UTF-8 válido. Se a sequência não for UTF-8 válido, por exemplo dados binários brutos ou UTF-16, o conversor mostra um erro em vez de caracteres ilegíveis.

Strings hex de comprimento ímpar são sinalizadas: um byte hex precisa exatamente de 2 dígitos, então uma contagem ímpar significa que algo está faltando. Caracteres não hexadecimais são removidos automaticamente, então traços, espaços ou prefixos 0x soltos nunca quebram a conversão.

Não há limite fixo de tamanho, mas entradas muito grandes deixam a conversão mais lenta. Para dumps de vários megabytes, uma ferramenta de linha de comando como xxd -r -p é mais rápida e prática.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas