editor hexadecimal


Un editor hexadecimal (o editor de archivos binarios o editor de bytes ) es un programa de computadora que permite la manipulación de los datos binarios fundamentales que constituyen un archivo de computadora . El nombre 'hex' proviene de ' hexadecimal ', un formato numérico estándar para representar datos binarios. Un archivo de computadora típico ocupa múltiples áreas en el medio de almacenamiento, cuyo contenido se combina para formar el archivo. Los editores hexadecimales que están diseñados para analizar y editar datos de sector de los segmentos físicos de disquetes o discos duros a veces se denominan editores de sector oeditores de discos

Con un editor hexadecimal, un usuario puede ver o editar el contenido bruto y exacto de un archivo, a diferencia de la interpretación del mismo contenido que otro software de aplicación de nivel superior puede asociar con el formato de archivo . Por ejemplo, podrían ser datos de imágenes sin procesar, en contraste con la forma en que el software de edición de imágenes interpretaría y mostraría el mismo archivo.

Los editores hexadecimales se pueden usar para corregir datos dañados por problemas del sistema o del programa de aplicación en los que puede no valer la pena escribir un programa especial para hacer las correcciones. Son útiles para eludir las comprobaciones de edición de aplicaciones que pueden evitar la corrección de datos erróneos. Se han utilizado para "parchear" programas ejecutables para cambiar o agregar algunas instrucciones como alternativa a la recompilación. Las correcciones del programa para los sistemas mainframe de IBM a veces se distribuyen como parches en lugar de distribuir una copia completa del programa afectado.

En la mayoría de las aplicaciones de edición hexadecimal, los datos del archivo informático se representan como valores hexadecimales agrupados en 4 grupos de 4 bytes (o dos grupos de 8 bytes), seguidos de un grupo de 16 caracteres ASCII imprimibles que corresponden a cada par de valores hexadecimales. (cada byte). Los caracteres ASCII no imprimibles (p. ej., Bell) y los caracteres que ocupan más de un espacio de caracteres (p. ej., tabulador) normalmente se representan con un punto (".") en el siguiente campo ASCII.

A diferencia de los editores de texto convencionales, los editores hexadecimales pueden manejar de manera eficiente archivos con tamaños indefinidos, ya que solo se carga una parte del archivo mientras se examina y se modifica al guardarlo, en lugar de todo el archivo a la vez.

Desde la invención de las computadoras y sus diferentes usos, se ha creado una variedad de formatos de archivo. En algunas circunstancias especiales, era conveniente poder acceder a los datos como una serie de dígitos sin procesar. Un programa llamado SUPERZAP (AMASPZAP) estaba disponible para los sistemas IBM OS/360 que podían editar registros de disco sin procesar y también entendían el formato de los archivos ejecutables. [1] Los pares de dígitos hexadecimales (cada par puede representar un byte) son el estándar actual, porque la gran mayoría de las máquinas y los formatos de archivo que se usan actualmente manejan datos en unidades o grupos de bytes de 8 bits. Hexadecimal y también octalson comunes porque estos dígitos permiten ver qué bits en un byte están configurados. Hoy en día, la representación decimal en lugar de hexadecimal se está convirtiendo en una segunda opción popular debido a la base numérica más familiar y a las herramientas auxiliares adicionales, como sistemas de plantillas e inspectores de datos, que reducen los beneficios del formato numérico hexadecimal. [ cita requerida ]


Captura de pantalla de un editor hexadecimal común (hexedit de Pascal Rigaux (Pixel))
Un ejemplo de un editor hexadecimal simple basado en plantillas.