vb.net编解码url
发布时间:2020-12-17 07:58:12 所属栏目:百科 来源:网络整理
导读:解码: Public Function URLDecode(sEncodedURL As String) As String On Error Goto Catch Dim iLoop As Integer Dim sRtn As String Dim sTmp As String If Len(sEncodedURL) 0 Then For iLoop = 1 To Len(sEncodedURL) sTmp = Mid(sEncodedURL,iLoop,1) sT
解码:
Public Function URLDecode(sEncodedURL As String) As String
On Error Goto Catch
Dim iLoop As Integer
Dim sRtn As String
Dim sTmp As String
If Len(sEncodedURL) > 0 Then
For iLoop = 1 To Len(sEncodedURL)
sTmp = Mid(sEncodedURL,iLoop,1)
sTmp = Replace(sTmp,"+"," ")
If sTmp = "%" and LEN(sEncodedURL) > iLoop + 2 Then
sTmp = Mid(sEncodedURL,iLoop + 1,2)
sTmp = Chr(CDec("&H" & sTmp))
iLoop = iLoop + 2
End If
sRtn = sRtn & sTmp
Next iLoop
URLDecode = sRtn
End If
Finally:
Exit Function
Catch:
URLDecode = ""
Resume Finally
End Function
编码:
Public Function URLEncode(sRawURL As String) As String
On Error Goto Catch
Dim iLoop As Integer
Dim sRtn As String
Dim sTmp As String
Const sValidChars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz:/.?=_-$(){}~&"
If Len(sRawURL) > 0 Then
For iLoop = 1 To Len(sRawURL)
sTmp = Mid(sRawURL,1)
If InStr(1,sValidChars,sTmp,vbBinaryCompare) = 0 Then
sTmp = Hex(Asc(sTmp))
If sTmp = "20" Then
sTmp = "+"
ElseIf Len(sTmp) = 1 Then
sTmp = "%0" & sTmp
Else
sTmp = "%" & sTmp
End If
End If
sRtn = sRtn & sTmp
Next iLoop
URLEncode = sRtn
End If
Finally:
Exit Function
Catch:
URLEncode = ""
Resume Finally
End Function (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
