Function isHexDigit(c) tblDigit = "0123456789ABCDEFabcdef" If Instr(1, tblDigit, c, 0) > 0 Then isHexDigit = True Else isHexDigit = False End If End Function Function urlDecode(rawUrl) nLen=Len(rawUrl) decodedUrl="" For nIndex=1 To nLen sChr=Mid(rawUrl, nIndex, 1) If (nIndex + 2) <= nLen Then If (sChr = "%") And isHexDigit(Mid(rawUrl, nIndex+1, 1)) And isHexDigit(Mid(rawUrl, nIndex+2, 1)) Then decodedUrl= decodedUrl & Chr(CLng("&H" + (Mid(rawUrl, nIndex+1, 2)))) nIndex = nIndex + 2 Else decodedUrl= decodedUrl & sChr End If Else decodedUrl= decodedUrl & sChr End If Next urlDecode=decodedUrl End Function Function urlEncode(rawUrl) nLen=Len(rawUrl) encodedUrl="" For nIndex=1 To nLen sChr=Mid(rawUrl, nIndex, 1) If IsNumeric(sChr) Or (sChr>="a" And sChr<="z") Or (sChr>="A" And sChr<="Z") Or sChr="-" Or sChr="_" Or sChr="." Then encodedUrl=encodedUrl & sChr Else sHex=Hex(Asc(sChr)) If Len(sHex) > 2 Then encodedUrl=encodedUrl & "%" & Left(sHex, 2) encodedUrl=encodedUrl & "%" & Right(sHex, 2) Else encodedUrl=encodedUrl & "%" & sHex End If End If Next urlEncode=encodedUrl End Function Function urlEncodeZ(rawUrl) nLen=Len(rawUrl) encodedUrl="" For nIndex=1 To nLen sChr=Mid(rawUrl, nIndex, 1) If sChr = "?" Or sChr = "=" Or sChr = ":" Or sChr="/" Or IsNumeric(sChr) Or (sChr>="a" And sChr<="z") Or (sChr>="A" And sChr<="Z") Or sChr="-" Or sChr="_" Or sChr="." Then encodedUrl=encodedUrl & sChr Else sHex=Hex(Asc(sChr)) If Len(sHex) > 2 Then encodedUrl=encodedUrl & "%" & Left(sHex, 2) encodedUrl=encodedUrl & "%" & Right(sHex, 2) Else encodedUrl=encodedUrl & "%" & sHex End If End If Next urlEncodeZ=encodedUrl End Function