3

另一个问题中,有人建议echo -e使用\0<sequence>八进制和\x<sequence>十六进制。例如:

echo -e "\\0302\\0241" -->¡

有没有一种简单的方法可以从 UTF-8 字符转换为打印的八进制/十六进制序列?

4

1 回答 1

2

是的- 使用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

取自此处的代码:如何在 Bash 中回显 4 位 Unicode 字符?

于 2013-05-16T22:05:17.387 回答