44 Edición de Archivos Binarios
Existe un modo principal especial para editar archivos binarios: Modo Hexl. Para utilizarlo, utilice M-x hexl-find-file
en lugar de C-x C-f
para visitar el archivo. Este comando convierte el contenido del fichero a hexadecimal y le permite editar la traducción. Al guardar el archivo, se convierte automáticamente a binario.
También puede utilizar el modo M-x hexl
para traducir un búfer existente a hexadecimal. Esto es útil si visita un archivo normalmente y luego descubre que es un archivo binario.
La inserción de texto siempre sobrescribe en modo Hexl. Esto se hace para reducir el riesgo de estropear accidentalmente la alineación de los datos en el fichero. Los caracteres de texto ordinarios se insertan solos (es decir, se sobrescriben consigo mismos). Existen comandos para la inserción de caracteres especiales por su código. La mayoría de las teclas de movimiento del cursor, así como C-x C-s
, están vinculadas en modo Hexl a comandos que producen el mismo efecto. He aquí una lista de otros comandos importantes especiales para el modo Hexl:
Ctrl-Alt-d (C-M-d
)
Inserta un byte con un código escrito en decimal.
Ctrl-Alt-o (C-M-o
)
Inserta un byte con un código escrito en octal.
Ctrl-Alt-x (C-M-x
)
Inserta un byte con un código escrito en hexadecimal.
Ctrl-Alt-a (C-M-a
)
Se desplaza al principio de una página de 512 bytes.
Ctrl-Alt-e (C-M-e
)
Se mueve al final de una página de 512 bytes.
Ctrl-x [ (C-x [
)
Va al principio de una página de 1 KB.
Ctrl-x ] (C-x ]
)
Se desplaza al final de una página de 1KB.
Alt-g (M-g
)
Se mueve a una dirección escrita en hex.
Alt-g (M-g
)
Va a una dirección escrita en decimal.
Ctrl-c Ctrl-c (C-c C-c
)
Sale del modo Hexl, volviendo al modo principal que tenía este búfer antes de invocar hexl-mode.
Otros comandos Hexl le permiten insertar cadenas (secuencias) de bytes binarios, desplazarse por shorts
o ints
, etc.; escriba Ctrlh a hexl-
TAB (C-h a hexl- TAB
) para más detalles.
El modo Hexl también puede utilizarse para editar archivos de texto. Esto puede resultar útil si el archivo de texto incluye caracteres inusuales o utiliza una codificación inusual (véase 23.5 Sistemas de Codificación). Para ello, los comandos Hexl que insertan bytes también pueden insertar caracteres ASCII y no ASCII, incluidos caracteres multibyte. Para editar un archivo de texto con Hexl, visite el archivo como de costumbre y, a continuación, escriba Alt-x hexl-mode
RETURN (M-x hexl-mode RET
) para cambiar al modo Hexl. Ahora puede insertar caracteres de texto escribiéndolos. Sin embargo, la inserción de caracteres multibyte requiere un cuidado especial, para evitar el peligro de crear secuencias multibyte inválidas: debe empezar a teclear dichos caracteres cuando el punto esté en el primer byte de una secuencia multibyte en el fichero.