如何对bash中的所有字符(特殊和非特殊)进行url编码[重复]

Posted

技术标签:

【中文标题】如何对bash中的所有字符(特殊和非特殊)进行url编码[重复]【英文标题】:How to url-encode all characters (special and non-special) in bash [duplicate] 【发布时间】:2021-02-08 13:55:00 【问题描述】:

如何对 bash 中的所有字符进行 url 编码?

例如: abcd0123 => %61%62%63%64%30%31%32%33

我在 Linux 中尝试了内置的 urlencode 函数,但它只编码特殊字符,如 (.?)

【问题讨论】:

【参考方案1】:

我不相信这在纯 Bash 中是可能的,但是可以将其他 shell 实用程序串在一起来实现这个结果,例如

urlencode() 
    printf %s "$1" | od -An -tx1 -v -w$#1 | tr ' ' %

urlencode abcd0123 # => %61%62%63%64%30%31%32%33

【讨论】:

以上是关于如何对bash中的所有字符(特殊和非特殊)进行url编码[重复]的主要内容,如果未能解决你的问题,请参考以下文章

删除熊猫中的特殊字符和非标准值

如何禁用bash中的特殊字符? [复制]

Shell中的单引号(‘)双引号(”)和反引号(·)

如何转义变量中的特殊字符以在 bash 中提供命令行参数

使用 bash 脚本从输入字符串中过滤掉 ABC 字符、数字 123 和特殊字符

Bash 中的特殊字符大全