注释就不写啦,嘿嘿。
对了,这个方法在UTF-8编码时是用不了的……
因为……UTF-8其实就是Unicode啦,它不算某种编码……CHR函数是用不了的……
UTF-8编码的,应该专门写一个,关键在于UTF-8转Unicode……
<% function urldecode(str) dim newstr,iIndex,sChar,sHexStr,iHex newstr="" iIndex=1 while (iIndex < len(str)) sChar=mid(str,iIndex,1) if sChar="+" then newstr = newstr & chr(32) iIndex=iIndex +1 elseif sChar="%" then sChar=mid(str,iIndex+1,1) if sChar="u" then sHexStr=mid(str,iIndex+2,4) iHex=cint("&H" & sHexStr) newstr = newstr & chrw(iHex) iIndex=iIndex +6 else sHexStr=mid(str,iIndex+1,2) iHex=cint("&H" & sHexStr) if abs(iHex)<=127 then newstr = newstr & chr(iHex) iIndex=iIndex+3 else sChar=mid(str,iIndex+3,1) if sChar="%" then sHexStr=sHexStr & mid(str,iIndex+4,2) iHex=cint("&H" &sHexStr) newstr = newstr & chr(iHex) iIndex=iIndex+6 else sHexStr=sHexStr & Hex(Asc(sChar)) iHex=cint("&H" &sHexStr) newstr = newstr & chr(iHex) iIndex=iIndex+4 end if end if end if else newstr = newstr & sChar iIndex=iIndex +1 end if wend urldecode=newstr end function %>
|