麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > ASP > 正文

ASP的URLDecode函數(shù)URLEncode解碼函數(shù)

2024-05-04 11:08:26
字體:
供稿:網(wǎng)友
我們知道,ASP的Server對(duì)象有個(gè)URLEncode方法可以對(duì)地址進(jìn)行編碼,但卻沒有相應(yīng)的解碼函數(shù),下邊的這個(gè)函數(shù)可以實(shí)現(xiàn)對(duì)URLEncode的解碼。
 
 
 
下面的代碼是從kesion系統(tǒng)扒下的,確實(shí)不錯(cuò),支持utf8格式。
復(fù)制代碼代碼如下:

'================================================ 
'函數(shù)名: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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久草在线播放视频 | 久久精品日本一区 | 日韩1区 | 久久久久久免费免费 | 成人福利视频导航 | 久久亚洲美女视频 | 国产精品自拍av | 法国极品成人h版 | 色诱亚洲精品久久久久久 | 久久美女色视频 | 免费看成年人网站 | 四季久久免费一区二区三区四区 | 久久精品re | 亚洲一区动漫 | 国产精品视频中文字幕 | 国产精品久久久久久238 | 麻豆视频在线观看 | 久久精品国产99国产精品澳门 | 精品国产一区二区三区四区在线 | 精品av在线播放 | 色综合激情| 蜜桃网站在线观看 | 成年免费视频黄网站在线观看 | 久久久久国产一区二区三区不卡 | 99精品国产在热久久婷婷 | 91性高湖久久久久久久久网站 | 日韩伦理电影免费观看 | 欧美一级高清片在线 | 精品黑人一区二区三区国语馆 | 日日操夜夜透 | 亚洲第一色片 | 国产精品久久久久久久久久久天堂 | 福利四区| 91 免费看片 | 九九黄色影院 | www.17c亚洲蜜桃 | 永久av在线免费观看 | 性爱免费在线视频 | 黄网站免费观看视频 | 免费欧美一级视频 | 国产精品视频海角社区88 |