printfでバイナリhello world

Linux/Unixでprintfを使うと、バイナリ(16進数)でHello Worldできます。

文字コードの調査をしたいときや、バイナリファイルの読み書きをしたいときにこれを覚えておくと大変便利です。
$  printf "\x61\n"
a
こんな感じで "\x" の後に続けて16進数を書きます。
$  printf "\x68\x65\x6c\x6c\x6f\n"
hello
ちなみに zshだとechoでもこれができます。
(bashのechoではできませんでした。)
$ echo "\x68\x65\x6c\x6c\x6f"
hello

printfで日本語を表示

UTF-8の「あ」を表示
$ printf "\xE3\x81\x81\n"
ぁ
EUC_JPの「あ」
$ printf "\xA4\xA1\n"
Shift_JISの「あ」
$ printf "\x82\x9F\n"
カテゴリ: