linux shell实现 URL 编码/解码方法

(1)编码的两种方法

# echo '手机' | tr -d ' ' | xxd -plain | sed 's/(..)/%1/g' 

# echo '手机' |tr -d ' ' |od -An -tx1|tr ' ' %

(2)解码的两个步骤:

# url="要解码的URL地址"

# printf $(echo -n $url | sed 's/\/\\/g;s/(%)([0-9a-fA-F][0-9a-fA-F])/\x2/g')" "

需要注意的是,采用上述方式转换后的编码每一行的长度是固定的,超过长度后会被分成几行,中间以空格隔开

#/bin/bash
datetime=`date`
mobile="$1"
content1="$2"
content2=`echo $content1|sed 's/ /+/g'|sed 's/%/%25/g'`
encodeurl=`echo $content2 |tr -d ' ' |od -An -tx1|tr ' ' % `
encodeurl=`echo $encodeurl |sed s/[[:space:]]//g`

原文地址:https://www.cnblogs.com/wjoyxt/p/5404681.html