16進数表記の文字列があった時に、バイナリで表示したい時があります。
```text
`gutter:false;
48656c6c6f7720576f726c64210a00
```
そのような時には、ターミナルのコマンドを組み合わせれば良い感じに表示させることができます。
```text
`gutter:false;
% echo "48656c6c6f7720576f726c64210a00" | xxd -r -p | xxd
00000000: 4865 6c6c 6f77 2057 6f72 6c64 210a 00 Hellow World!..
```
xxd -r -pで16進数文字列をバイナリに変換して、さらにxxdコマンドに渡して整形して表示しています。
xxdコマンドのヘルプを見ていたら、Cのソースに貼り付けるフォーマットに変換するオプションもありました。
```text
`gutter:false;
% 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 件のコメント :
コメントを投稿