urlencode - scripts - various script and utils
HTML git clone git://z3bra.org/scripts
DIR Log
DIR Files
DIR Refs
---
urlencode (525B)
---
1 #!/bin/sh
2
3 usage() {
4 echo "usage: $(basename $0) [-hde]" >&2
5 }
6
7 urlencode() {
8 sed 's/\n$//'|od -t d1 | awk '{
9 for (i = 2; i <= NF; i++) {
10 printf(($i>=48 && $i<=57) || ($i>=65 && $i<=90) || ($i>=97 && $i<=122) ||
11 $i==45 || $i==46 || $i==95 || $i==126 ?
12 "%c" : "%%%02x", $i)
13 }
14 }'
15 echo
16 }
17
18 urldecode() {
19 perl -pe 's/\+/ /g; s/%([0-9a-f]{2})/chr(hex($1))/eig'
20 }
21
22 fn=$(basename $0)
23
24 while getopts 'hde' OPT; do
25 case $OPT in
26 e) fn=urlencode;;
27 d) fn=urldecode;;
28 h) usage; exit 0;;
29 *) usage; exit 1;;
30 esac
31 done
32
33 $fn