バイナリ・データ・ビュア zetamatta/binview の Linux 用バイナリ登場
バイナリ・データ・ビュアの zetamatta/binview の v0.2.0 がリリースされたのだが,このリリースで Linux 用バイナリも提供されるようになった。
もともと binview のバイナリは Windows 用のみの提供だったのだ。 ありがたや。
若い頃はバイナリ・エディタを使うような仕事も多くて Bz Editor などのツールのお世話になったものだが1,もうバイナリデータを直接イジるような細かい仕事はできなくなりつつあるし,でも CUI なターミナル・エミュレータ上でちょろんと眺めてさくっと編集できるツールがあるといいなぁ,みたいな需要はあるわけですよ。
ちなみに Linux には xxd というダンプツールがあり
$ xxd -g 1 ./bindata1
00000000: a8 03 50 47 50 c3 04 04 03 00 01 c9 38 e7 2d 2f ..PGP.......8.-/
00000010: b1 f1 0f c3 ce 55 5d b2 8a 4b e8 4f 43 15 6e 7d .....U]..K.OC.n}
00000020: 90 90 53 6a 9a e3 aa 1c 68 d6 d3 fc 6a 4e 79 a8 ..Sj....h...jNy.
00000030: e7 b1 a5 87 ea cc cc 99 66 31 ad ff e1 a3 03 b6 ........f1......
00000040: 47 85 76 bd 0b G.v..
みたいな感じにバイナリデータを眺めることはできる。 あるいは vim と xxd を組み合わせることでバイナリ・エディタのように使うこともできるけど,あんまりお手軽じゃないのよね。 やり方をしょっちゅう忘れるし(笑) なので binview のようなお手軽ツールはありがたいし,最初からマルチプラットフォームな製品として構成されているのもありがたい。
ファイルを指定して binview を起動するとこんな感じになる。
入力は標準入力からでもOK。 なので前処理をパイプで繋いで
てな感じにできる。 カーソル位置のコードが UTF-8 (の一部) と判定された場合は下部のステータス行に Unicode 符号点が表示されるのが秀逸である。
終了する場合は [q]
キー押下で
のように確認プロンプトが表示されるので [y]
キー押下で終了できる。
データの保存は [w]
キー押下で
とプロンプトが出るので,保存先のファイル名を指定して [Enter]
キー押下で確定する。
これで,たとえば処理結果を標準出力に吐くツールと組み合わせてデータをいったん binview に流し込んで中身を確認してから任意のファイル名に保存する,てなことも簡単にできるわけだ。 うんうん。
[r]
キーを押下するとカーソル位置のコードを変更できる。
こんな感じ。
コマンドキーの一覧は以下の通り。
キー | 機能 |
---|---|
q |
quit |
r |
replace one byte |
i |
insert '\0' on the cursor |
a |
append '\0' at the rightside of the cursor |
x , DEL |
delete and yank one byte on the cursor |
p |
paste 1 byte the rightside of the cursor |
P |
paste 1 byte the leftside of the cursor |
w |
output to file |
[x]
と [p]
/[P]
は対になっていて [x]
で削除したコードを [p]
/[P]
で任意の場所に挿入できるようだ。
なお [ESC]
キー押下でコマンド前の状態に戻る。
なので,状態がよく分からなくなったら [ESC]
連打である(vi/vim でありがちな光景w)。
さらにカーソルの移動には [h]
[j]
[k]
[l]
キーが使える。
私のように vim を起動するとトラウマレベルで指が [h]
[j]
[k]
[l]
キーを押さえてしまう人には朗報だろう(笑)