Hexter

Qué es un editor hexadecimal (y cuándo lo necesitas de verdad)

Alguien te dijo que “lo revises en un editor hexadecimal”, o buscaste un visor hexadecimal y llegaste aquí sin estar del todo seguro de qué es uno. Está bien. Un editor hexadecimal es un programa que te muestra el contenido en bruto de un archivo, byte por byte, en lugar de intentar interpretarlo como un documento, una imagen o una hoja de cálculo. Es lo más cerca que puedes estar de mirar exactamente lo que está almacenado en el disco.

Por qué hexadecimal, específicamente

Un archivo, cualquier archivo, no es más que una secuencia de bytes, y cada byte es un número del 0 al 255. Podrías mostrar esos números en decimal, pero del 0 al 255 ocupa hasta tres dígitos y no se alinea limpiamente. Podrías mostrarlos en binario, pero un solo byte son ocho dígitos de 1 y 0, lo cual es difícil de leer de un vistazo. El hexadecimal (base 16, usando los dígitos 0-9 y las letras A-F) es el punto medio: cada byte cabe en exactamente dos caracteres, de 00 a FF, así que una fila de bytes se alinea en una cuadrícula ordenada y fácil de leer. Esa es toda la razón por la que “hex” es el estándar, y no el decimal ni el binario. Es una decisión de legibilidad, no un requisito técnico.

Qué estás mirando en realidad

Abre cualquier archivo en un editor hexadecimal y verás tres cosas lado a lado, para los mismos datos:

Diagrama de las tres columnas de un editor hexadecimal: la columna de desplazamiento que muestra la posición en el archivo, la cuadrícula hexadecimal que muestra cada byte como dos caracteres hex, y la columna de texto que muestra los mismos bytes interpretados como ASCII.
Los mismos bytes, mostrados de tres formas: dónde están, qué son y cómo se verían como texto.
  • Desplazamiento: qué tan adentro del archivo estás, normalmente mostrado en hexadecimal también, para que puedas volver a una posición específica más tarde.
  • Bytes hexadecimales: los datos reales, dos caracteres por byte, agrupados en filas (comúnmente 16 bytes por fila).
  • Vista de texto (ASCII): los mismos bytes reinterpretados como caracteres, para la parte del archivo que resulte ser texto legible. Los bytes que no son texto suelen aparecer como un punto de marcador de posición.

Esa tercera columna es la razón por la que las rutas de archivo, las etiquetas y las cadenas de versión suelen ser visibles incluso en archivos que son en su mayoría datos binarios: cualquier texto incrustado aparece en esa columna aunque el archivo en su conjunto no sea un archivo de texto.

Cuándo lo necesitarías de verdad

La mayoría de la gente pasa toda su vida sin abrir un editor hexadecimal, y eso es completamente normal. Las situaciones en las que es genuinamente la herramienta correcta son específicas:

  • La extensión de un archivo no coincide con su contenido real. Alguien renombró un .zip a .doc, o no estás seguro de que un archivo .db sea realmente una base de datos. Los primeros bytes de la mayoría de los formatos son una firma distintiva (PNG empieza con 89 50 4E 47, ZIP con 50 4B), y una vista hexadecimal lo confirma en segundos.
  • Un archivo está corrupto y quieres saber cómo. Una descarga truncada, una transferencia defectuosa, un encabezado que se sobrescribió. Ver los bytes en bruto te dice si el daño está al inicio, al final o disperso.
  • Estás depurando algo que lee o escribe datos binarios, un formato de partida guardada, un archivo de configuración, un protocolo de red, y necesitas confirmar exactamente qué bytes se están produciendo.
  • Quieres verificar un valor específico, como confirmar que cuatro bytes realmente representan el tamaño de archivo que esperas, o comprobar una marca de tiempo, sin confiar en que una herramienta de caja negra lo interprete correctamente.
  • Curiosidad. Mucha gente abre un editor hexadecimal una vez solo para ver cómo se ve por debajo un formato de archivo familiar. Esa es una razón completamente legítima.

Si ninguna de esas describe lo que estás haciendo, probablemente no necesitas uno, y eso está bien. Es una herramienta especializada para un tipo específico de pregunta.

Qué hace bueno a un editor hexadecimal, no solo funcional

Una vez que sí necesitas uno, las herramientas hacen en su mayoría el mismo trabajo básico: mostrar bytes, dejarte desplazar, dejarte buscar. Las diferencias que importan tienen que ver con la seguridad y la claridad, no con la cantidad de funciones. Hex Fiend es la opción gratuita y de código abierto con la que la mayoría de los usuarios de Mac acaban de forma predeterminada, y es genuinamente capaz, en particular con archivos muy grandes. Hexter adopta un enfoque más acotado y cauteloso: todos los archivos abren en solo lectura, así que mirar algo desconocido no conlleva riesgo alguno, editar es un paso explícito y reversible en lugar del estado predeterminado, y a los formatos de archivo comunes (PNG, ZIP, Mach-O, WAV, SQLite) se les analiza la estructura automáticamente en vez de dejarte decodificar encabezados a mano.

Cuál quieres depende de lo que estés haciendo. Si estás comparando dos archivos de varios gigabytes byte por byte, la comparación de Hex Fiend está hecha para esa escala. Si solo necesitas confirmar qué es realmente un archivo, revisar un puñado de bytes, o hacer una edición pequeña y cuidadosa sin preocuparte por destrozar el original por accidente, esa es la situación para la que está hecho Hexter.