Last Update: "2006/04/02 23:38:48 makoto"
二進編集 hexl
M-x hexl-find-file
M-x hexl-mode
などで起動すると、二進数などのまま編集が可能になります。
例えば、画面は次のようになります。
00000010: 0001 020c 0000 0001 0000 0000 0000 0000 ................
00000020: 0000 01b0 0000 0000 0034 0000 0000 0028 .........4.....(
00000030: 000e 000b 6000 0000 0000 0000 0000 0000 ....`...........
00000040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
編集
右側の文字の表示なら、そのまま入力出来ます。
左側の文字を変更する場合には、次のように入力してから数値を入れます。
C-M-o | 8進入力 |
C-M-d | 10 進入力 |
C-M-x | 16 進入力 |
連続入力
例えば次のように、データ内容の部分、つまりアドレスを表示している部分ではなくデータ
を表示している部分にカーサを移動しておきます。

そして、
M-x hexl-insert-hex-string RET
としてから、012345abcd のように 16 進文字を入力してから

RET を入力すると、

それらが次々とデータ部分に入力
されて行きます。このように文字でないデータを入力した場合、
保存する時に Emacs がちょっと困って、
These default coding systems were tried:
euc-jp iso-2022-jp
However, none of them safely encodes the target text.
Select one of the following safe coding systems:
koi8-r mule-utf-16-be mule-utf-16-le utf-8 raw-text emacs-mule
no-conversion
のように聞いて来ます。その場合には no-conversion を選んで下さい。また
その後で
Converting from hexl format discards undo info; ok? (y or n)
と聞いて来ますが、これは「hexl の形式から二進形式で保存する時に
やり直し(undo) のための情報が消えてしまうがいいか」と
いうことで y としておきます。
移動
C-[ | 1k バイトページの最初 |
C-] | 1k バイトページの最後 |
M-j | アドレス指定 (10進) |
M-g | アドレス指定 (16進) |
|