Adds url encode and decode scripts
This commit is contained in:
parent
a3e687088d
commit
37aae19017
2 changed files with 47 additions and 0 deletions
20
bin/.bin/urldecode
Executable file
20
bin/.bin/urldecode
Executable file
|
@ -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
|
27
bin/.bin/urlencode
Executable file
27
bin/.bin/urlencode
Executable file
|
@ -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…
Add table
Add a link
Reference in a new issue