JS中URL编码与.net URL解码

来源:互联网 发布:如何开个人淘宝店铺 编辑:程序博客网 时间:2024/05/16 17:50

javascript函数的体例:


    encodeURI("url地点")//编码


    decodeURI("url地点")//解码


  asp.net的体例:


    Server.UrlEncode("url地点")//编码


    Server.UrlDecode("url地点")//解码


  ps:可以用js编码.net解码.也就是它们编码解码体例是一样的.它们的返回值都是编码或解码后的URL字符串.


  JS编码,C#解码


  利用JS对URL中的特殊字符的URL编码,函数是encodeURIComponent,这个函数编码等于C#中的Server.UrlEncode体例。


  在C#中,利用Request.QueryString[""].ToString()可以直接对编码后的字符串进行解码,也可利用Server.UrlDecode体例进行解码。


  在C#中,可利用Request.Url.OriginalString来得到URL,假定利用Request.Url.ToString(),得到到的地点则是解码过的。


  在C#中SubString中的第二个参数是要得到的字符的长度,而JS中则表现竣事字符的地位。


  JS:var u=encodeURIComponent(unit);


  C#:Server.UrlDecode(Request["unit"]);


  网上查到的全都是escape,和必要的编码不是一回事,好不轻易找到的成果。


  生存下来以备以后利用。


  js对笔墨举办编码触及3个函数:escape,encodeURI,encodeURIComponent,


  相应3个解码函数:,decodeURI,decodeURIComponent


   


  1、转达参数时必要利用encodeURIComponent,如许组合的url才不会被#等特殊字符截断。 


  比喻:


  2、举办url跳转时可以团体利用encodeURI


  比喻:Location.href="/encodeURI"("http://cang.百度.com/do/s?word=百度&ct=21");


  3、js利用数据时可利用escape


  比喻:搜躲中history记载。


  4、 escape对0-255以外的unicode值举办编码时输出%u****格式,别的环境下escape,encodeURI,encodeURIComponent编码成果不异。


  最多利用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,以是假定给背景转达参数必要利用encodeURIComponent时必要背景解码对utf-8撑持(form中的编码体例和当前页面编码体例不异)


  escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z


  encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z


  encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z


  根据阐明 我必要的是encodeURIComponent函数





2011-11-08 12:33:12 分类: JavaScript  标签:url编码  url解码  |举报|字号 订阅

原创粉丝点击