vb.net编解码url

前端之家收集整理的这篇文章主要介绍了vb.net编解码url前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
解码:
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

猜你在找的VB相关文章