Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Aug 11, 2001

URLDecodeEx - Decodes an encoded URL

' Decodes URL encoding applied to the specified Text and returns the result

Public Function URLDecodeEx(ByVal Text As String) As String
        
    Dim abytTokens() As Byte
    Dim lngTotal As Long
    Dim lngCount As Long
    Dim astrReturn() As String
    Dim strReturn As String
    Dim strHex As String
    Dim strDec As String
    
    strReturn = Text
    
    If Trim$(strReturn) <> "" Then
        ' convert to an array
        abytTokens = StrConv(Text, vbFromUnicode)
        
        lngTotal = UBound(abytTokens)
        
        ' dimension enough space for the return
        ReDim astrReturn(lngTotal)
        
        For lngCount = 0 To lngTotal
            Select Case abytTokens(lngCount)
                Case 43
                    ' +
                    astrReturn(lngCount) = " "
                Case 37
                    ' %
                    If ((lngCount + 1) <= lngTotal) And ((lngCount + 2) <= _
                        lngTotal) Then
                        strHex = Chr$(abytTokens(lngCount + 1)) & Chr$ _
                            (abytTokens(lngCount + 2))
                        If strHex <> "" Then
                            strDec = Chr$(Val("&H" & strHex))
                            astrReturn(lngCount) = strDec
                            lngCount = lngCount + 2
                        End If
                    End If
                Case Else
                    astrReturn(lngCount) = Chr$(abytTokens(lngCount))
            End Select
        Next ' lngCount
        strReturn = Join(astrReturn, "")
    
        Erase astrReturn
    End If
    
    ' join the return tokens together
    URLDecodeEx = strReturn
    
End Function


'###################################
'#
'# This tip has been brought to you by www.omnisolvonline.com,
'# makers of a host of software development, energy and information 
'# management tools.
'#
'###################################

Paul McEwan
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date