A way of armouring, i.e. sending awkward characters. Browsers use url-encoding on HTTP (Hypertext Transfer Protocol) GET and PUT requests to the server. They embed data in the URLs (Uniform Resource Locators). Url-encoding is also used by the url-encoded and x-www-form-urlencoded mime types.
You see url-encoding every time you do a Google search e.g.
There are two flavours of urlencoding, one used in URL (Uniform Resource Locator) s and one used in forms.
Unfortunately, the URL class provides no escaping features. You must use the URI (Uniform Resource Indicator) class and convert the URL with toURL(). The encoding algorithm is described in RFC 3986.
To decode a String, you just feed it to the single-argument URI constructor, then extract the various fields with methods like URI.getPath().
Properly speaking, you should not see bare & in URLs; they should be pre-encoded as &. I wrote a utility called Amper that processes *.html files to make this correction.
When you use URLEncode.encode you must specify an 8-bit encoding such as UTF-8 or ISO-8859-1. The algorithm first converts to 8-bit characters then encodes. Thus the encoded string depends on the encoding you choose. The encoding is not embedded in the output. You just have to know what it is when an incoming encoding url-encoded string arrives.
java.net.URLEncoder uses the following set of characters to convert 8-bit data into printable characters :a to z, A to Z, 0 to 9, -, ., * and _. It works like this:
This page is posted
Optional Replicator mirror
Your face IP:[22.214.171.124]
You are visitor number|