#!/bin/zsh # # func/urlencode # # encode strings for use with URLs # # Copyright © 1994–2017 martin f. krafft # Released under the terms of the Artistic Licence 2.0 # # Source repository: http://git.madduck.net/v/etc/zsh.git # # Based on http://www.michael-prokop.at/computer/config/.zshrc setopt localoptions extendedglob input=( ${(s::)1} ) print ${(j::)input/(#b)([^A-Za-z0-9_.!~*\'\(\)-])/%$(([##16]#match))}