我有一个脚本来处理来自网页的一些信息。我猜是因为页面的编码,一些特殊字符是用十六进制编码的。例如,我有字符串“%2f”应该被翻译成“/”。
在 bash 中,我如何将这些特殊字符以十六进制形式转换为 ASCII?有任何想法吗?
Bash 有一个printf
内置函数,它与我们在 C 中学习的大致相同。语法略有不同。
printf '\x2f'
如果你不需要担心更高级别的数据一致性问题,你可以通过这个函数简单地转换一个url:
function deUrl() {
printf "${1//%/\\x}"
}
Run Code Online (Sandbox Code Playgroud)
(它将 every 转换%
为 a \x
,然后用 printf 打印它。)
归档时间: |
|
查看次数: |
1091 次 |
最近记录: |