busybox

26th February 2018 at 10:44pm
bash
urlencode () {
  echo "$@" | awk -v ORS="" '{ gsub(/./,"&\n") ; print }' | while read l;
  do
    case "$l" in
      [-_.~a-zA-Z0-9] ) echo -n ${l} ;;
      "" ) echo -n %20 ;;
      * )  printf '%%%02X' "'$l"
    esac
  done
  echo ""
}