What is percent-encoding?
A URL may only contain certain ASCII characters. Any other character, including spaces and accented letters, is encoded as UTF-8 and each byte is written as a percent sign followed by two hexadecimal digits. That is why a space becomes %20 and the letter é becomes %C3%A9.
Characters with a special meaning in a URL, such as ? & = # /, only need to be encoded when they are part of the data rather than part of the URL’s structure.