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

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...