parent
a3e687088d
commit
37aae19017
2 changed files with 47 additions and 0 deletions
@ -0,0 +1,20 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
##Helper Functions |
||||||
|
|
||||||
|
urldecode() { |
||||||
|
# urldecode <string> |
||||||
|
local url_encoded="${1//+/ }" |
||||||
|
printf '%b' "${url_encoded//%/\\x}" |
||||||
|
} |
||||||
|
|
||||||
|
string="$1" |
||||||
|
if [ -z "$string" ]; then |
||||||
|
string="$(cat)" |
||||||
|
fi |
||||||
|
|
||||||
|
#URL |
||||||
|
decoded=$(urldecode "$string") |
||||||
|
if [ "$decoded" != "$string" ]; then |
||||||
|
echo "$decoded" |
||||||
|
fi |
@ -0,0 +1,27 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
##Helper Functions |
||||||
|
|
||||||
|
urlencodespecial() { |
||||||
|
# urlencode <string> |
||||||
|
old_lc_collate=$LC_COLLATE |
||||||
|
LC_COLLATE=C |
||||||
|
local length="${#1}" |
||||||
|
for (( i = 0; i < length; i++ )); do |
||||||
|
local c="${1:i:1}" |
||||||
|
case $c in |
||||||
|
[a-zA-Z0-9.~_-]) printf "$c" ;; |
||||||
|
*) printf '%%%02X' "'$c" ;; |
||||||
|
esac |
||||||
|
done |
||||||
|
LC_COLLATE=$old_lc_collate |
||||||
|
} |
||||||
|
|
||||||
|
string="$1" |
||||||
|
if [ -z "$string" ]; then |
||||||
|
string="$(cat)" |
||||||
|
fi |
||||||
|
|
||||||
|
#URL |
||||||
|
urlencodespecial "$string" |
||||||
|
|
Loading…
Reference in new issue