This repository has been archived on 2025-12-28. You can view files and clone it, but cannot push or open issues or pull requests.
inks-scripts/scripts/urlencode

36 lines
677 B
Bash
Executable File

#!/usr/bin/env bash
# yeah, i totally stole this from stack exchange, no shame
# - rwxrob
# and I stole it from rwxrob
# - inkletblot
rawurlencode() {
local string="${1}"
local strlen=${#string}
local encoded=""
local pos c o
for ((pos = 0; pos < strlen; pos++)); do
c=${string:$pos:1}
case "$c" in
[-_.~a-zA-Z0-9]) o="${c}" ;;
*) printf -v o '%%%02x' "'$c'" ;;
esac
encoded+="${o}"
done
echo "${encoded}" # You can either set a return variable (FASTER)
REPLY="${encoded}" #+or echo the result (EASIER)... or both... :p
}
if test -n "$1"; then
rawurlencode "$*"
exit
fi
IFS=
while read -r line; do
rawurlencode "$line"
done