shell 下 urlencode和urldecode 编码解码的方法

UrlEncode:

echo '你好中国' | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g'
#echo '你好中国' |tr -d '\n' |od -An -tx1|tr ' ' %

输出:%e4%bd%a0%e5%a5%bd%e4%b8%ad%e5%9b%bd

对输入数据进行十六进制的转换,并在每个转换结果前面加上%(一般urlencode会在到后台服务器的时候,自动解码)

UrlDecode:

printf $(echo -n "%e4%bd%a0%e5%a5%bd%e4%b8%ad%e5%9b%bd" | sed 's/\\/\\\\/g;s/\(%\)\([0-9a-fA-F][0-9a-fA-F]\)/\\x\2/g')"\n"

输出:你好中国


文章来源: https://www.cnblogs.com/fnlingnzb-learner/p/13064885.html