vb.net编解码url

来源:互联网 发布:英语教学软件下载 编辑:程序博客网 时间:2024/04/29 13:34
解码:
 
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 FinallyEnd 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, iLoop, 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 FinallyEnd Function


0 0
原创粉丝点击