URL encoding - the conversion of a url containing special characters or characters of national alphabets. There are two steps: first, each character is encoded in Unicode (UTF-8) in a two-byte sequence, and then each byte of that sequence is written in hexadecimal representation.
Some characters cannot be part of a URL (for example, a space), and some other characters have a special meaning in the URL: for example, the # character can be used to further specify a subkey (or fragment) of a document. In HTML forms, the = character is used to separate a name from a value. The generic URI syntax uses URL encoding to solve this problem, while the HTML form do some additional lookup, and do not use percent encoding for all the characters. The space is encoded as "+" or "%20".