一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - ASP URL反編碼函數代碼

ASP URL反編碼函數代碼

2019-09-04 10:21ASP之家 ASP教程

URL反編碼函數,簡單易懂。 主要是原來的中文進行了url編碼,具體使用的時候需要還原成中文,就需要這樣的函數。

例如:
我們在百度中搜索 服務器之家,則網址后面的參數就是
http://www.baidu.com/s?cl=3&wd=%BD%C5%B1%BE%D6%AE%BC%D2

如果我們想將%BD%C5%B1%BE%D6%AE%BC%D2還原為中文,使用下面的函數即可。
<% 
response.write urldecode("http://www.baidu.com/s?cl=3&wd=%BD%C5%B1%BE%D6%AE%BC%D2") 
'================================================ 
'函數名:URLDecode 
'作 用:URL解碼 
'================================================ 
Function URLDecode(ByVal urlcode) 
Dim start,final,length,char,i,butf8,pass 
Dim leftstr,rightstr,finalstr 
Dim b0,b1,bx,blength,position,u,utf8 
On Error Resume Next 

b0 = Array(192,224,240,248,252,254) 
urlcode = Replace(urlcode,"+"," ") 
pass = 0 
utf8 = -1 

length = Len(urlcode) : start = InStr(urlcode,"%") : final = InStrRev(urlcode,"%") 
If start = 0 Or length < 3 Then URLDecode = urlcode : Exit Function 
leftstr = Left(urlcode,start - 1) : rightstr = Right(urlcode,length - 2 - final) 

For i = start To final 
char = Mid(urlcode,i,1) 
If char = "%" Then 
bx = URLDecode_Hex(Mid(urlcode,i + 1,2)) 
If bx > 31 And bx < 128 Then 
i = i + 2 
finalstr = finalstr & ChrW(bx) 
ElseIf bx > 127 Then 
i = i + 2 
If utf8 < 0 Then 
butf8 = 1 : blength = -1 : b1 = bx 
For position = 4 To 0 Step -1 
If b1 >= b0(position) And b1 < b0(position + 1) Then 
blength = position 
Exit For 
End If 
Next 
If blength > -1 Then 
For position = 0 To blength 
b1 = URLDecode_Hex(Mid(urlcode,i + position * 3 + 2,2)) 
If b1 < 128 Or b1 > 191 Then butf8 = 0 : Exit For 
Next 
Else 
butf8 = 0 
End If 
If butf8 = 1 And blength = 0 Then butf8 = -2 
If butf8 > -1 And utf8 = -2 Then i = start - 1 : finalstr = "" : pass = 1 
utf8 = butf8 
End If 
If pass = 0 Then 
If utf8 = 1 Then 
b1 = bx : u = 0 : blength = -1 
For position = 4 To 0 Step -1 
If b1 >= b0(position) And b1 < b0(position + 1) Then 
blength = position 
b1 = (b1 xOr b0(position)) * 64 ^ (position + 1) 
Exit For 
End If 
Next 
If blength > -1 Then 
For position = 0 To blength 
bx = URLDecode_Hex(Mid(urlcode,i + 2,2)) : i = i + 3 
If bx < 128 Or bx > 191 Then u = 0 : Exit For 
u = u + (bx And 63) * 64 ^ (blength - position) 
Next 
If u > 0 Then finalstr = finalstr & ChrW(b1 + u) 
End If 
Else 
b1 = bx * &h100 : u = 0 
bx = URLDecode_Hex(Mid(urlcode,i + 2,2)) 
If bx > 0 Then 
u = b1 + bx 
i = i + 3 
Else 
If Left(urlcode,1) = "%" Then 
u = b1 + Asc(Mid(urlcode,i + 3,1)) 
i = i + 2 
Else 
u = b1 + Asc(Mid(urlcode,i + 1,1)) 
i = i + 1 
End If 
End If 
finalstr = finalstr & Chr(u) 
End If 
Else 
pass = 0 
End If 
End If 
Else 
finalstr = finalstr & char 
End If 
Next 
URLDecode = leftstr & finalstr & rightstr 
End Function 

Function URLDecode_Hex(ByVal h) 
On Error Resume Next 
h = "&h" & Trim(h) : URLDecode_Hex = -1 
If Len(h) <> 4 Then Exit Function 
If isNumeric(h) Then URLDecode_Hex = cInt(h) 
End Function 
%>

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜精品区 | 特黄未满14周岁毛片 | 娇妻与公陈峰姚瑶最新版 | 国产一级特黄在线播放 | 美女gif趴跪式抽搐动态图 | 九九热这里只有精品视频免费 | 免费亚洲视频在线观看 | 操美女| 国产在线视频自拍 | 国产亚洲小视频 | 免费观看一级特黄三大片视频 | 国产美女极品免费视频 | 欧美日韩国产手机在线观看视频 | 欧美日韩高清完整版在线观看免费 | 日韩国产成人资源精品视频 | 欧美色影视 | 91视频www| 天干夜天天夜天干天ww | 亚洲 欧美 中文字幕 在线 | 国产成人精品系列在线观看 | 日本男男gayxxxxx免费 | 色综合网天天综合色中文男男 | 日本xx高清视频免费观看 | 美女沟厕撒尿全过程高清图片 | 暖暖 免费 高清 日本 在线 | 美女脱了内裤打开腿让人桶网站o | 四虎影院新地址 | 91精品手机国产露脸 | 日韩av.com| voyeur 中国女厕 亚洲女厕 | 日本爽p大片免费观看 | 欧美1级| 娇妻中日久久持久久 | 羞羞私人影院可以直接免费观影吗 | 亚洲国产精品久久久久久 | sss亚洲国产欧美一区二区 | 亚洲七七久久综合桃花 | 毛片免费观看的视频 | 亚洲嫩模吧粉嫩粉嫩冒白浆 | 亚洲精品第五页 | 欧美一级特黄特色大片免费 |