vb.net实现url编码解码
作者:admin 日期:2021-12-20
VB.net URL解码
ASP/Visual Basic代码
- 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
vb.net url编码
ASP/Visual Basic代码
- 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,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
解码测试过没问题,编码没测试。
评论: 0 | 引用: 0 | 查看次数: 101
发表评论
广告位