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解碼 |舉報|字號 訂閱