搜索: 标题内容作者  
  首页源码及开源VB.NET源代码
背景:
阅读新闻

源码下载:URL解码\编码函数

[日期:2009-05-25]   来源:互联网整理  作者:www.wewill.cn   [字体: ]
    新闻简介:
        关 键 词:  
源码下载:URL解码\编码函数源码下载
解码一个编码后的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

If you believe an article violates your rights or the rights of others, please contact us.

收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻      
友情链接
赞助商广告
热门评论