[Mac] ターミナルで16進数文字列を良い感じにダンプして表示する

16進数表記の文字列があった時に、バイナリで表示したい時があります。

48656c6c6f7720576f726c64210a00

そのような時には、ターミナルのコマンドを組み合わせれば良い感じに表示させることができます。

% echo "48656c6c6f7720576f726c64210a00" | xxd -r -p | xxd
00000000: 4865 6c6c 6f77 2057 6f72 6c64 210a 00    Hellow World!..

xxd -r -pで16進数文字列をバイナリに変換して、さらにxxdコマンドに渡して整形して表示しています。

xxdコマンドのヘルプを見ていたら、Cのソースに貼り付けるフォーマットに変換するオプションもありました。

% echo "48656c6c6f7720576f726c64210a00" | xxd -r -p | xxd -i
  0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64,
  0x21, 0x0a, 0x00

iオプションでCに貼り付けるフォーマットに変換できるようです。

0 件のコメント :

コメントを投稿