JS in Escape corresponding C # decoding function UrlDecode

Source: Internet
Author: User
Tags urlencode

js in escape corresponding to the C # decoding function System.Web.HttpUtility.UrlDecode (s), the use of the process has the following points to note js in Escape corresponding C # decoding function System.Web.HttpUtility.UrlDecode (s)//Note the code
a few things to note:
1, Httputility.urlencode,httputility.urldecode is a static method, and Server.urlencode,server.urldecode is an instance method.
2. Server is an instance of the HttpServerUtility class, and is the attribute of System.Web.UI.Page.
3. The string object encoded with Httputility.urlencode is not the same as the string after encoding with Server.URLEncode:
For example:
string url="http://search.99read.com/index.aspx?book_search=all&main_str=  "; Response.Write (Httputility.urlencode (URL)); Response.Write ("<br>"

output is :  
http% 3a%2f%2fsearch.99read.com%2findex.aspx%3fbook_search%3dall%26main_str%3d%e5%a5%a5%e8%bf%b7%e5%b0%94 
http%3a%2f%2fsearch.99read.com%2findex.aspx%3fbook_search%3dall% 26main_str%3d%b0%c2%c3%d4%b6%fb 
cause : The encoding of SERVER.URLENCODE is encoded according to the encoding method set by the local program, and Httputility.urlencode is encoded by default in. NET Utf-8 format.  

 string  url1=  " http://search.99read.com/index.aspx?book_search=all&main_str=   " ; Response.Write (Httputility.urlencode (Url1,system.text.encoding.getencoding (  " gb2312   "   <BR>  Span style= "color: #800000;" > "  ); Response.Write (Server.URLEncode (URL1));  

The result of the output is :
Http%3a%2f%2fsearch.99read.com%2findex.aspx%3fbook_search%3dall%26main_str%3d%b0%c2%c3%d4%b6%fb
Http%3a%2f%2fsearch.99read.com%2findex.aspx%3fbook_search%3dall%26main_str%3d%b0%c2%c3%d4%b6%fb
3, sometimes other systems may pass over the URL is encoded in other ways.
Describes a method that you have written to get the querystring of the specified encoding format.

 Public stringGetnonnullquerystring (stringkey,encoding Encoding) { //referencing the System.Collections.Specialized and System.Text namespacesstringStringValue; System.Collections.Specialized.NameValueCollection encodingquerystring; //This method is new in 2.0.Encodingquerystring =httputility.parsequerystring (request.url.query,encoding);//' The key inside is the key of the parameter you submittedreturnEncodingquerystring[key]! =NULL? Encodingquerystring[key]. Trim ():""; } 

Call :
String url = getnonnullquerystring ("url", Encoding.UTF8). Trim ();
----------------------------------------------------------------------------------------------

The difference between escape,encodeuri,encodeuricomponent three functions in JavaScript

JS to encode the text involves 3 functions: escape,encodeuri,encodeuricomponent,

Corresponding 3 decoding functions: 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 encode a Unicode value other than 0-255 when the output%u**** format,

In other cases the 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

JS in Escape corresponding C # decoding function UrlDecode

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.