URL編碼是指為了將資訊通過URL進行傳輸,所以必須將某些含有特殊意義的字元進行替換的一種編碼方式,在asp中我們都知道有一個Server.URLEncode的函數可以完成這個功能。即:
如果有空格就用%20代替,如果有其它字元就用%ASCII代替,如果有漢字等四個位元組的字元,就用兩個%ASCII來代替。不過有時候我們也需要將經過這種編碼的字串進行解碼,但asp並沒有提供相關的函數,這給我們處理問題帶來了一定的麻煩。其實我們只要知道了編碼規則後,就可以用asp代碼來實現我們自己的URlDecode函數了。
具體實現如下:
function urldecode(encodestr)<br />newstr=""<br />havechar=false<br />lastchar=""<br />for i=1 to len(encodestr)<br />char_c=mid(encodestr,i,1)<br />if char_c="+" then<br />newstr=newstr & " "<br />elseif char_c="%" then<br />next_1_c=mid(encodestr,i+1,2)<br />next_1_num=cint("&H" & next_1_c)<br />if havechar then<br />havechar=false<br />newstr=newstr & chr(cint("&H" & lastchar & next_1_c))<br />else<br />if abs(next_1_num)<=127 then<br />newstr=newstr & chr(next_1_num)<br />else<br />havechar=true<br />lastchar=next_1_c<br />end if<br />end if<br />i=i+2<br />else<br />newstr=newstr & char_c<br />end if<br />next<br />urldecode=newstr<br />end function<br />