Adds url encode and decode scripts
This commit is contained in:
parent
041406ceb8
commit
8438d2ee70
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