Linux で バイナリ
バイナリファイルを扱う。
ダンプする
表示するには、いくつかの選択肢がある。
対象のファイルを「data.bin」とすると
$ od data.bin
とか
$ hexdump -C data.bin
とか
$ xxd data.bin
とか。
個人的には、編集でも使うので、xxdをメインに。
shortじゃなくて、byteで表示したいなら、
$ xxd -g 1 data.bin 0000000: 00 01 02 03 04 05 06 07 08 09 .......... $
編集する
vim で、バイナリ編集可能です。
$ vi -b data.bin ^@^A^B^C^D^E^F^G^H ~ ~ "data.bin" [Incomplete last line] 1 line, 10 characters
xxdに渡すために、「:%! xxd」と入力。
(バイト単位でやりたいなら、「:%! xxd -g 1」)
0000000: 00 01 02 03 04 05 06 07 08 09 .......... ~ ~ :%! xxd -g 1
編集する。
後ろのASCII表示は無視しても良いらしい。
1行16Byteで入力することらしい。
0000000: 00 01 02 03 04 05 06 07 08 08 07 06 05 04 03 02 .......... 0000010: 01 00 ~ :%! xxd -g 1
結果を反映するために、「:%! xxd -r」と入力。
^@^A^B^C^D^E^F^G^H^H^G^F^E^D^C^B^A^@ ~ ~ :%! xxd -r
で、保存終了「:wq」なり、なんなりどうぞ。