Qué es el hexadecimal
El hexadecimal, o hex, es un sistema de numeración en base 16. Usa los dígitos del 0 al 9 y las letras de la A a la F, donde A vale 10 y F vale 15. Con dos dígitos hexadecimales se puede escribir cualquier valor del 0 al 255, que es exactamente un byte. Eso convierte al hex en una forma compacta y legible de mostrar datos en bruto.
Encontrarás hexadecimal en volcados de memoria, capturas de paquetes de red, firmas de archivos, códigos de color, secuencias de escape en código fuente y registros de errores. Convertir esos bytes de nuevo en texto suele revelar qué dicen los datos.
Cómo convertir hexadecimal a texto
De hexadecimal a texto. Pega el hex en el cuadro Hex de la izquierda. El texto decodificado aparece en el cuadro Texto de la derecha. El conversor ignora los separadores habituales, así que puedes pegar:
- bytes separados por espacios:
48 65 6c 6c 6f - una sola cadena larga:
48656c6c6f - prefijos al estilo de C:
0x48 0x65 0x6c - secuencias de escape:
\x48\x65\x6c - bytes separados por dos puntos o comas:
48:65:6c:6c:6f
De texto a hexadecimal. Escribe en el cuadro Texto de la derecha. El hex aparece a la izquierda.
Formato hexadecimal controla cómo se escribe el hex:
- Con espacios: 48 65 6c para leer y comparar
- Juntos: 48656c para guardarlo de forma compacta o como cadena tipo hash
- Con prefijo: 0x48 0x65 para C, C++ y lenguajes parecidos
- Con escape: \x48\x65 para cadenas literales en Python, JavaScript y scripts de shell
A a F en mayúsculas escribe las letras en mayúscula. Copiar copia cualquiera de los dos cuadros y Borrar vacía ambos.
Cómo funciona
Para decodificar, el conversor quita los separadores, comprueba que solo queden dígitos hexadecimales y que haya un número par de ellos, y lee cada par de dígitos como un byte. Después decodifica los bytes como texto UTF-8. Para codificar hace lo contrario: el texto se convierte en bytes UTF-8 y cada byte en dos dígitos hexadecimales.
Cada dígito hexadecimal representa 4 bits. El byte 48 es 4 × 16 + 8 = 72, que es el código de la H mayúscula.
En español, las letras con tilde, la ñ y los signos ¿ y ¡ ocupan dos bytes cada una. Por ejemplo, año se escribe 61 c3 b1 6f, y ¡Hola! se escribe c2 a1 48 6f 6c 61 21.
Ejemplos
| 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 |
€ |
El mismo texto en cada formato de salida:
| Formato | café |
|---|---|
| Con espacios | 63 61 66 c3 a9 |
| Juntos, en mayúsculas | 636166C3A9 |
| Con prefijo | 0x63 0x61 0x66 0xc3 0xa9 |
| Con escape | \x63\x61\x66\xc3\xa9 |
Valores hexadecimales comunes
| Hex | Carácter | Hex | Carácter |
|---|---|---|---|
20 |
espacio | 30 |
0 |
0a |
salto de línea | 41 |
A |
0d |
retorno de carro | 61 |
a |
09 |
tabulación | 7e |
~ |
Consejos y límites
- Un resultado sin sentido suele indicar que los datos no son texto. Las imágenes, los archivos comprimidos y los datos cifrados se convierten en símbolos raros y caracteres de sustitución. Es lo normal.
- Revisa el orden de los bytes en los números. Esta herramienta lee los bytes en el orden en que los pegas. Los números de varios bytes en un volcado de memoria suelen guardarse en little endian, así que se leen de derecha a izquierda.
- Los códigos de color hex no son texto.
#ff8800describe niveles de rojo, verde y azul, no letras. - El hexadecimal no es cifrado. Es solo otra forma de escribir bytes.
Otras formas de convertir hexadecimal
Línea de comandos. En Linux y macOS, xxd -p convierte un archivo en hex plano y xxd -r -p lo devuelve a su forma original. echo -n Hello | xxd -p muestra 48656c6c6f.
Python. bytes.fromhex('48656c6c6f').decode() devuelve Hello, y 'Hello'.encode().hex() devuelve 48656c6c6f.
JavaScript (Node). Buffer.from('48656c6c6f', 'hex').toString() devuelve Hello.
Excel. =CHAR(HEX2DEC("48")) devuelve H para bytes ASCII sueltos. =DEC2HEX(72) hace el camino inverso. En Excel en español, estas funciones se llaman CARACTER, HEX.A.DEC y DEC.A.HEX.
Herramientas relacionadas
Para ver los mismos bytes como unos y ceros, usa el traductor de código binario. La herramienta para codificar y decodificar UTF-8 muestra cada carácter con su punto de código y sus bytes. Si tus datos están en Base64 y no en hex, usa la herramienta para decodificar Base64.