Saltar al contenido
TextArray
Totalmente local

Hexadecimal a texto y viceversa

Convierta texto a hexadecimal y de nuevo hexadecimal a texto, byte por byte en UTF-8.

Entrada

Hexadecimal a texto y viceversa

Hexadecimal es la forma en que se escriben los bytes cuando los humanos necesitan leerlos: dos dígitos por byte, del 00 al ff. Pegue el texto para ver los bytes UTF-8 exactos detrás de él, o pegue un volcado hexadecimal de un registro, una captura de paquetes o un depurador y vuelva a leer el mensaje. El selector de modo cambia de dirección y el resultado se actualiza a medida que escribe.

La opción del separador decide la forma de la salida. Los pares separados por espacios son el formato de volcado clásico y el más fácil de escanear a ojo. El hexadecimal no separado es el aspecto de las sumas de comprobación, los valores de color y las columnas de blobs de bases de datos. El prefijo 0x se adapta a los bytes literales de C, Go y Rust; el prefijo \\x coincide con objetos de bytes de Python y escapes de shell. Los dígitos en mayúsculas están ahí para muchos formatos que esperan A-F en lugar de a-f.

Leer el hex es deliberadamente tolerante, porque el hex real llega desordenado. Los espacios, tabulaciones y saltos de línea se ignoran, los prefijos 0x y \\x se eliminan dondequiera que aparezcan, y las mayúsculas y minúsculas se mezclan libremente, por lo que copiar y pegar desde un seguimiento de la pila generalmente funciona. Se informan dos cosas en lugar de adivinarse: un número impar de dígitos, lo que significa que falta un dígito, y caracteres fuera del 0 al 9 a-f. Los bytes que no son válidos se decodifican en UTF-8 al carácter de reemplazo, por lo que aún puede ver dónde se rompió una secuencia.

Todo se ejecuta en su navegador utilizando su codificador UTF-8 incorporado. No se carga nada, lo cual importa cuando el hexadecimal que estás inspeccionando proviene de una carga útil, un token o un archivo privado. El recuento debajo del resultado muestra caracteres versus bytes, por lo que los caracteres de varios bytes son fáciles de detectar: un emoji cuesta cuatro bytes, una letra acentuada dos.

Preguntas frecuentes

¿Por qué mi hexadecimal es más largo que mi texto?
Cada byte ocupa dos dígitos hexadecimales y el texto está codificado como UTF-8, donde ASCII es un byte por carácter, las letras acentuadas ocupan dos y los emoji cuatro. Una palabra de 5 caracteres puede tener fácilmente 8 bytes y 16 dígitos.
¿Qué formatos hexadecimales puede leer?
Todos los que escribe, y la mayoría de los demás: pares espaciados, cadenas continuas, bytes con prefijo 0x y \x, mayúsculas o minúsculas, repartidos en tantas líneas como desee. Los espacios en blanco y los prefijos se eliminan antes de la decodificación.
¿Por qué aparece un error de número impar de dígitos?
Un byte siempre tiene dos dígitos, por lo que un recuento impar significa que uno se perdió, generalmente en una copia truncada. Verifique el inicio y el final de la cadena. No se aceptan comas ni otros signos de puntuación como separadores; elimínelos o espacie los bytes.
¿Cuáles son los caracteres del diamante negro en el texto decodificado?
Es decir, U+FFFD, que se muestra donde los bytes no son UTF-8 válidos, generalmente porque el hexadecimal proviene de datos binarios o de texto en otra codificación, como Windows-1250.
¿Mi texto está subido a alguna parte?
No. La conversión se ejecuta completamente en su navegador y su texto nunca sale de su dispositivo.