请登录[¤ 阳光论坛 ¤]参与讨论


阳光宝宝
90

 □ 主题: URL解码\编码函数
 □ 内容: 1楼

      解码一个编码后的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, 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 Finally 
      End Function
——
      
争分夺秒背单词 → able  a.有能力的;出色的
 □ 发帖时间:2011-12-20|23:09:26 |回复|返回|

 页次:1/1页 每页10  本主题贴数0 分页: 1


你还没有登录论坛,所以不能发表你的意见。你可以选择:

1、我已注册,我要

2、我还没注册,我要

3、太麻烦了,我还是

Go Top

Copyright by(C)2003-2015 http://abc.sy578.cn