Conectar vía MCP →

Ingresar cálculo

Introduce bytes en hex (se ignoran los espacios, las comas y los prefijos 0x)

Fórmula

Publicidad

Resultados

Texto ASCII decodificado
Hello
desde hexadecimal
Bytes decodificados 5

¿Qué es un conversor de hexadecimal a ASCII?

Un conversor de hexadecimal a ASCII transforma los números hexadecimales de vuelta en los caracteres de texto legibles que representan. Los ordenadores guardan cada carácter como un número, y el hexadecimal (base 16) es una forma compacta de escribir esos valores de byte. Esta herramienta lee tu entrada en hex, la divide en pares de dígitos, convierte cada par a su valor numérico y asocia ese valor a un carácter, devolviéndote el texto original.

Cómo usarlo

Pega o escribe tu cadena hexadecimal en el recuadro. Puedes separar los bytes con espacios, comas o escribirlos como una única cadena continua; la herramienta también ignora cualquier prefijo 0x. Pulsa calcular y el texto decodificado aparecerá al instante, junto con el número de bytes que se han decodificado.

La fórmula explicada

El hexadecimal es base 16, así que dos dígitos hex representan un byte con un valor de 0 a 255. Para cada par p, calculamos int(p, 16) para obtener el código decimal y luego chr(código) para obtener el carácter.

$$\text{ASCII} = \bigsqcup_{k=0}^{n-1} \text{char}\Big(\,\text{hex}_{16}\big(\,\text{Hex Input}[2k\,..\,2k{+}1]\big)\Big)$$

Por ejemplo, el par 48 equivale a \(4\times 16 + 8 = 72\), y el carácter 72 es la letra mayúscula H.

Diagrama que muestra una cadena hexadecimal dividida en pares de bytes de dos caracteres, cada uno asignado a un carácter ASCII
Cada par de dígitos hexadecimales se convierte en un número y luego en su carácter ASCII.

Ejemplo resuelto

Tomemos la cadena hex 48 65 6C 6C 6F. Al convertir cada par: \(48 \to 72 \to\) «H», \(65 \to 101 \to\) «e», \(6C \to 108 \to\) «l», \(6C \to 108 \to\) «l», \(6F \to 111 \to\) «o». Al unirlos obtenemos Hello.

Preguntas frecuentes

¿Necesito poner espacios entre los bytes? No. Los espacios, las comas y los prefijos 0x son opcionales y se eliminan automáticamente antes de decodificar.

¿Qué pasa si introduzco un número impar de dígitos? El último dígito que queda suelto se ignora, ya que un byte válido necesita dos dígitos hexadecimales.

¿Hay que usar mayúsculas o minúsculas? Cualquiera de las dos funciona: 6c y 6C se decodifican de forma idéntica.

Última actualización: