Encodes characters not permitted in a URL into XX escaped sequences. Appends to the output. Hence in and out must not be the same. A list of characters that should NOT be escaped, even if they normally would, can be passed. These characters must be strictly ASCII characters only. This is useful to prevent '/' path delimiters to be escaped if the string to be encoded represents a path.