在asp中使用request獲取編碼的url字符串將自動解碼,那么,大家知道詳解ASP編碼和解碼函數(shù)嗎?下面錯新技術(shù)頻道小編就為大家詳細(xì)介紹,希望能幫助到你。
ASP解碼函數(shù):
Function URLDecode(enStr) dim deStr,strSpecial dim c,i,v deStr="" strSpecial="!""#$%&'()*+,.-_/:;<=>?@[/]^`{|}~%" for i=1 to len(enStr) c=Mid(enStr,i,1) if c="%" then v=eval("&h"+Mid(enStr,i+1,2)) if inStr(strSpecial,chr(v))>0 then deStr=deStr&chr(v) i=i+2 else v=eval("&h"+ Mid(enStr,i+1,2) + Mid(enStr,i+4,2)) deStr=deStr & chr(v) i=i+5 end if else if c="+" then deStr=deStr&" " else deStr=deStr&c end if end if next URLDecode=deStr End function
只是個人愛好,自己研究了一下編碼的實現(xiàn)思路,最后自己寫了一個編碼函數(shù),提供大家參考。注:ASP有內(nèi)置的編碼函數(shù),即是Server.URLEncode。
ASP編碼函數(shù):
private Function URLEncoding(vstrIn) strReturn = "" For i = 1 To Len(vstrIn) ThisChr = Mid(vStrIn,i,1) If Abs(Asc(ThisChr)) < &HFF Then strReturn = strReturn & ThisChr Else innerCode = Asc(ThisChr) If innerCode < 0 Then innerCode = innerCode + &H10000 End If Hight8 = (innerCode And &HFF00)/ &HFF Low8 = innerCode And &HFF strReturn = strReturn & "%" & Hex(Hight8) & "%" & Hex(Low8) End If Next URLEncoding = strReturn End Function
建議大家在中文編碼的時候,還是使用ASP 內(nèi)置的函數(shù)。雖然上面這個編碼函數(shù)測試過N 遍了,沒有發(fā)現(xiàn)問題,但是以防萬一存在Bug。
以上就是錯新技術(shù)頻道小編為大家?guī)淼脑斀釧SP編碼和解碼函數(shù),看了以上的介紹,對大家學(xué)習(xí)這方面知識有沒有幫助呢?感興趣的話請繼續(xù)關(guān)注我們的吧!
新聞熱點
疑難解答
圖片精選