打赏

星辰大海ゞ

That which does not kill us makes us stronger!

导航

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

(1)编码的两种方法

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

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

(2)解码的两个步骤:

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

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

 

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

 

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

 

posted on 2016-04-18 15:33  星辰大海ゞ  阅读(4410)  评论(0编辑  收藏  举报