IE 5.5: Formatting, URIs, and Stack Operations : Encoding and Decoding URIs
IE 5.5: Formatting, URIs, and Stack Operations
Encoding and Decoding URIs
The URI (Universal Resource Index) is a standard format for specifying resources over the Internet. The principle behind this standard is that all its member characters are alphanumeric. All non-alphanumeric characters are replaced by a string in the form of "%xy" where xy being the ASCII encoding of the non-alphanumeric character. The target set of characters belong to to the ISO Latin-1 character set. The ISO Latin-1 (8859-1) is the standard set of characters used over the Internet. Only this standard is guaranteed to be supported on a Web site.
Internet Explorer 5.5 introduced four new methods to encode strings to URIs as well as to decode URIs to strings. The first method, encodeURI(string)
, encodes a string as a full URI. Let's take an example. The following line:
alert(encodeURI("My phone # is 123-456-7890"));
should generate the following alert box:
Notice that the #
character is considered an alphanumeric one and is not converted. The second URI conversion, encodeURIComponent(string)
, method encodes a string as a URI component. In this conversion, some characters (like the #
) are not considered alphanumeric, and are converted to their numeric representation. Let's take the same example as above:
alert(encodeURIComponent("My phone # is 123-456-7890"));
and see the alert box that pops up:
The opposite conversion is done by decodeURI(uri)
and decodeURIComponent(uri)
. Let's take the previous encoded URI and try to decipher them back to their original strings. Starting with decodeURI(uri)
:
alert(decodeURI("My%20phone%20 #%20is%20123-456-7890"));
you get the expected alert box:
Using decodeURIComponent(uri):
alert(decodeURIComponent("My%20phone%20 %23%20is%20123-456-7890"));
you get the same alert box as above. If you try to decode the string with the %23 above with the other decoder (decodeURI()
), you will get the %23, i.e. as undecoded.
Next: How to run the Stack operations
Produced by Yehuda Shiran and Tomer Shiran
Created: March 14, 2000
Revised: April 26, 2000
URL: https://www.webreference.com/js/column59/7.html