These URI methods encodeURI, encodeURIComponent (), decodeURI (), decodeuricomponent () Replace the Escape () and unescape () methods of the BOM. URI methods are preferable because they encode all Unicode symbols, whereas the BOM method can encode only the ASCII symbols correctly. Avoid using the escape () and unescape () methods as much as possible. Excerpt from JavaScript advanced book.
JS to encode the text involves 3 functions: Escape,encodeuri,encodeuricomponent, the corresponding 3 decoding function: unescape,decodeuri,decodeuricomponent
1, passing parameters need to use encodeuricomponent, so that the combined URL will not be # and other special characters truncated.
For example: <script language= "JavaScript" >document.write (' <a href= ' http://passport.baidu.com/?logout&aid=7 &u= ' +encodeuricomponent ("http://cang.baidu.com/bruce42") + ' "> Exit </a> ');</script>
2, the URL to jump when you can use the whole encodeURI
For example: Location.href=encodeuri (http://cang.baidu.com/do/s?word= Baidu &ct=21);
3, JS Use the data can use escape
For example: Search the history record of the Tibetan.
4, Escape to the Unicode value other than 0-255 to encode the output%u**** format, in other cases escape,encodeuri,encodeuricomponent encoding results are the same.
The most used should be encodeuricomponent, which is to convert the Chinese, Korean and other special characters into the utf-8 format of the URL encoding, So if you need to use encodeURIComponent to pass parameters to the background, you need the background decoding to Utf-8 support (the encoding in form is the same as the current page encoding method)
Escape does not encode characters with 69: *,+,-,.,/,@,_,0-9,a-z,a-z
encodeURI does not encode 82 characters:!,#,$,&, ', (,), *,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,a-z
encodeURIComponent does not encode 71 characters:!, ', (,), *,-,.,_,~,0-9,a-z,a-z
========================================================
Unescape method
Returns the decoded string from a string object encoded with the escape method.
function unescape (charstring:string): String
Parameters
Charstring
Must be selected. The String object or text to decode.
Note
The Unescape method returns a string value that contains the contents of the charstring. All characters encoded in the%XX 16 format are replaced by the equivalent characters in the ASCII character set. Characters encoded in%UXXXX format (Unicode characters) are replaced with hexadecimal-encoded XXXX Unicode characters. Note the Unescape method should not be used to decode the Uniform Resource Identifier (URI). Use the decodeURI and decodeURIComponent methods instead.
decodeURI method
Returns a non-encoded form of an encoded Uniform Resource Identifier (URI).
function decodeURI (uristring:string): String
Parameters
Uristring
Must be selected. A string that represents the encoded URI.
Note
Use the decodeURI method instead of the obsolete unescape method.
The decodeURI method returns a string value.
If uristring is not valid, Urierror will occur.
decodeURIComponent method
Returns the non-encoded form of an encoded component of a Uniform Resource Identifier (URI).
function decodeURIComponent (encodeduristring:string): String
The required encodeduristring parameter is a value that represents the encoded URI component.
Note
Uricomponent is part of a complete URI
JavaScript in Escape (), unescape (), encodeURI (), encodeURIComponent (), decodeURI (), decodeuricomponent () comparison