Texto a hexadecimal: la forma que toman los bytes en una captura
Qué hace esta conversión
Codifica el texto en UTF-8 e imprime cada byte como 2 dígitos hexadecimales. Esta es la notación de las capturas de paquetes, los visores de memoria y los registros de protocolo, así que la conversión es en realidad una traducción entre lo que teclea una persona y lo que muestran sus herramientas.
Dos dígitos por byte, siempre
Un byte guarda valores de 0 a 255 y 2 dígitos hexadecimales cubren exactamente ese rango, de 00 a FF. La pareja nunca varía, y eso es lo que hace que un volcado hexadecimal se pueda recorrer con la vista: cuentas bytes contando parejas y la columna de desplazamiento te dice en cuál estás. Una cadena de 8 caracteres son 8 parejas y ningún carácter puede producir media pareja.
Tabla de conversión de texto a hexadecimal
Cadenas cortas con sus valores de byte en hexadecimal. La puntuación y los dígitos se convierten en su valor ASCII dentro de una sola pareja, mientras que cualquier cosa fuera del alfabeto latino se expande a varias.
| Texto | Hexadecimal |
|---|---|
| A | 41 |
| Hi | 48 69 |
| OK | 4F 4B |
| 123 | 31 32 33 |
| ! | 21 |
| Go | 47 6F |
Buscar una cadena dentro de una captura
Buscar texto legible en una captura de red casi nunca funciona, porque lo que viaja por el cable son bytes y lo que tú escribiste son caracteres. Convertir la cadena que buscas a hexadecimal te da la secuencia exacta que hay que localizar, y explica por qué una búsqueda con tilde falla cuando la misma búsqueda sin tilde acierta: las formas codificadas tienen longitudes distintas, no solo caracteres distintos.
Cuidado con los separadores
Esta herramienta separa los bytes con espacios por legibilidad, mientras que muchas capturas y URL juntan los dígitos o usan el signo de porcentaje. Al buscar, quita los espacios o cámbialos por el separador que espere tu herramienta: una secuencia que a simple vista parece idéntica puede no coincidir solo por los huecos.
Preguntas frecuentes
¿Cómo paso texto a hexadecimal a mano?
Busca el valor de byte UTF-8 de cada carácter y escríbelo con 2 dígitos hexadecimales. Para «Hi» son 48 y 69. Con caracteres fuera del rango ASCII necesitas los valores de byte y no el punto de código, ya que un carácter puede ocupar varios bytes.
¿En qué se diferencia la salida hexadecimal de la binaria?
Solo en la notación. Las dos codifican los mismos bytes UTF-8; el hexadecimal escribe cada byte con 2 dígitos y el binario con 8, así que el hexadecimal es cuatro veces más corto y mucho más fácil de recorrer con la vista. Elige hexadecimal para leer y binario cuando necesites ver los bits uno a uno.
¿Por qué mi carácter acentuado se convierte en dos bytes?
Porque UTF-8 codifica todo lo que queda por encima del rango ASCII original en más de un byte, y la mayoría de las letras latinas acentuadas ocupan dos. Es normal y no es una corrupción: el carácter simplemente está fuera del rango que un byte puede direccionar, y cualquier contador de bytes verá dos.
¿Es la misma codificación que usa una URL?
Está emparentada, pero no es idéntica. La codificación por ciento escribe los bytes UTF-8 con un signo de porcentaje delante de cada pareja, así que los valores de byte coinciden exactamente con esta herramienta y solo cambia la puntuación. Convirtiendo aquí obtienes los bytes correctos para codificar por ciento.
¿Puedo usar la salida en un literal de array de bytes?
Sí. Los dígitos son exactamente los valores de byte, así que añadir el prefijo 0x a cada pareja da un literal válido para la mayoría de los lenguajes. La herramienta imprime en mayúsculas por convención; las minúsculas valen igual dondequiera que lo pegues después.