¡ 有没有一种简单的方法可以从另一个方向转-6ren">
gpt4 book ai didi

command-line - 如何从命令行在打印的 UTF-8 字符的十进制/八进制/十六进制/UTF-8 表示之间进行转换?

转载 作者:行者123 更新时间:2023-12-04 05:11:49 27 4
gpt4 key购买 nike

another question有人建议 echo -e\0<sequence>对于八进制,和 \x<sequence>十六进制。例如:

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

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

最佳答案

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

关于command-line - 如何从命令行在打印的 UTF-8 字符的十进制/八进制/十六进制/UTF-8 表示之间进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16597408/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com