別の質問では、誰かがfor 8 進数と16 進数を提案echo -e
しました。例えば:\0<sequence>
\x<sequence>
echo -e "\\0302\\0241"
-->¡
UTF-8 文字から印刷された 8 進数/16 進数シーケンスに他の方向に変換する簡単な方法はありますか?
別の質問では、誰かがfor 8 進数と16 進数を提案echo -e
しました。例えば:\0<sequence>
\x<sequence>
echo -e "\\0302\\0241"
-->¡
UTF-8 文字から印刷された 8 進数/16 進数シーケンスに他の方向に変換する簡単な方法はありますか?
はい-hexdump
次のように使用します:
$ echo -n i | hexdump
次のようなものが出力されます。
0000000 0069
0000003
よりフォーマットされたものについては、これを行うことができます:
$ echo ü | hexdump | awk '{print "\\x"toupper(substr($2,3,4)) "\\x"toupper(substr($2,0,2)) "\\x"toupper(substr($3,3,4))}' | head -1
これはこれを出力します:
\xC3\xBC\x0A
ここから取得したコード: How do you echo a 4-digit Unicode character in Bash?