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