Los bytes hexadecimales no son puntos de código Unicode
El hexadecimal es una forma compacta de mostrar bytes. Dos dígitos hexadecimales representan un byte, de 00 a FF. Una letra inglesa sencilla suele ocupar un byte en UTF-8, lo que hace que un ejemplo corto parezca una sustitución carácter a carácter. Ese atajo deja de funcionar con gran parte del texto que la gente escribe realmente. Una letra con tilde puede ocupar dos bytes; un emoji puede ocupar cuatro o formar una secuencia más larga.
El punto de código U+00E9 identifica el carácter é. Sus bytes en UTF-8 son C3 A9, no E9. Por tanto, pasar el byte suelto E9 a un descodificador UTF-8 estricto es un error, aunque el hexadecimal en sí sea válido. Si un registro se generó con una codificación heredada, determina esa codificación en el origen en lugar de probar a ciegas hasta que el resultado parezca plausible.
Este conversor comprueba la sintaxis hexadecimal antes de intentar descodificar los caracteres. Se acepta una secuencia compacta como 4869. También se aceptan grupos completos como 48 69, 48:69 y 0x48,0x69. Se rechaza un número impar de dígitos en un grupo. Las columnas de direcciones, las cadenas con secuencias de escape de lenguajes de programación y la columna lateral imprimible de un volcado hexadecimal completo quedan fuera de este analizador; pega solo los datos de los bytes.
Mantén separadas las tareas numéricas y las de texto. El hexadecimal FF representa el entero 255, pero no es un byte de texto UTF-8 válido por sí solo. Usa el conversor de bases numéricas para calcular ese valor y esta herramienta cuando los bytes codifiquen un mensaje. El texto obtenido puede continuar hacia las herramientas de documentos existentes. Los caracteres NULL permanecen en las descargas, aunque el traspaso a documento los rechaza.