vb.net实现url编码解码

VB.net URL解码
ASP/Visual Basic代码
  1. Public Function URLDecode(sEncodedURL As StringAs String  
  2.     On Error Goto Catch  
  3.       
  4.     Dim iLoop As Integer  
  5.     Dim sRtn As String  
  6.     Dim sTmp As String  
  7.       
  8.    
  9.    
  10.     If Len(sEncodedURL) > 0 Then  
  11.    
  12.         For iLoop = 1 To Len(sEncodedURL)  
  13.             sTmp = Mid(sEncodedURL,iLoop,1)  
  14.             sTmp = Replace(sTmp,"+"," ")  
  15.    
  16.             If sTmp = "%" and LEN(sEncodedURL) > iLoop + 2 Then  
  17.                 sTmp = Mid(sEncodedURL,iLoop + 1,2)  
  18.                 sTmp = Chr(CDec("&H" & sTmp))  
  19.                 iLoop = iLoop + 2  
  20.             End If  
  21.             sRtn = sRtn & sTmp  
  22.         Next iLoop  
  23.         URLDecode = sRtn  
  24.     End If  
  25.     Finally:  
  26.     Exit Function  
  27.     Catch:  
  28.     URLDecode = ""  
  29.     Resume Finally  
  30. End Function  
vb.net url编码
ASP/Visual Basic代码
  1. Public Function URLEncode(sRawURL As StringAs String  
  2.     On Error Goto Catch  
  3.     Dim iLoop As Integer  
  4.     Dim sRtn As String  
  5.     Dim sTmp As String  
  6.     Const sValidChars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz:/.?=_-$(){}~&"  
  7.    
  8.    
  9.     If Len(sRawURL) > 0 Then  
  10.    
  11.    
  12.         For iLoop = 1 To Len(sRawURL)  
  13.             sTmp = Mid(sRawURL,1)  
  14.    
  15.    
  16.             If InStr(1,sValidChars,sTmp,vbBinaryCompare) = 0 Then  
  17.                 sTmp = Hex(Asc(sTmp))  
  18.    
  19.    
  20.                 If sTmp = "20" Then  
  21.                     sTmp = "+"  
  22.                 ElseIf Len(sTmp) = 1 Then  
  23.                     sTmp = "%0" & sTmp  
  24.                 Else  
  25.                     sTmp = "%" & sTmp  
  26.                 End If  
  27.             End If  
  28.             sRtn = sRtn & sTmp  
  29.         Next iLoop  
  30.         URLEncode = sRtn  
  31.     End If  
  32.     Finally:  
  33.     Exit Function  
  34.     Catch:  
  35.     URLEncode = ""  
  36.     Resume Finally  
  37. End Function  
解码测试过没问题,编码没测试。
 


上一篇: CentOS查看文件夹大小
下一篇: Vb.net字符操作函数(转)
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: vb.net
相关日志:
评论: 0 | 引用: 0 | 查看次数: 101
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭

 广告位

↑返回顶部↑