在VB6.0中怎么实现escape和unescape
2015-07-21 11:41
375 查看
Function Escape(ByVal Text As String) As String
Dim s As String
Dim ch As String
Dim iAscii As Integer
Dim i As Long
For i = 1 To Len(Text)
ch = Mid$(Text, i, 1)
Select Case ch
Case "0" To "9", "a" To "z", "A" To "Z", _
"-", "_", ".", "!", "~", "*", "'", "(", ")"
s = s & ch
Case Else
iAscii = AscW(ch)
If (0 <= iAscii) And (iAscii < 255) Then
s = s & ("%" & Right$("0" & Hex(iAscii), 2))
Else
s = s & ("%u" & Right$("000" & Hex(iAscii), 4))
End If
End Select
Next
Escape = s
End Function
Function Unescape(ByVal Text As String) As String
Dim i As Long
For i = 1 To Len(Text)
If Mid$(Text, i, 2) = "%u" Then Text = Replace$(Text, Mid$(Text, i, 6), ChrW$(AscW(ChrW$("&H" & Mid$(Text, i + 2, 4)))))
If Mid$(Text, i, 1) = "%" Then Text = Replace$(Text, Mid$(Text, i, 3), Chr$(Asc(Chr$("&H" & Mid$(Text, i + 1, 2)))))
Next i
Unescape = Text
End Function
Dim s As String
Dim ch As String
Dim iAscii As Integer
Dim i As Long
For i = 1 To Len(Text)
ch = Mid$(Text, i, 1)
Select Case ch
Case "0" To "9", "a" To "z", "A" To "Z", _
"-", "_", ".", "!", "~", "*", "'", "(", ")"
s = s & ch
Case Else
iAscii = AscW(ch)
If (0 <= iAscii) And (iAscii < 255) Then
s = s & ("%" & Right$("0" & Hex(iAscii), 2))
Else
s = s & ("%u" & Right$("000" & Hex(iAscii), 4))
End If
End Select
Next
Escape = s
End Function
Function Unescape(ByVal Text As String) As String
Dim i As Long
For i = 1 To Len(Text)
If Mid$(Text, i, 2) = "%u" Then Text = Replace$(Text, Mid$(Text, i, 6), ChrW$(AscW(ChrW$("&H" & Mid$(Text, i + 2, 4)))))
If Mid$(Text, i, 1) = "%" Then Text = Replace$(Text, Mid$(Text, i, 3), Chr$(Asc(Chr$("&H" & Mid$(Text, i + 1, 2)))))
Next i
Unescape = Text
End Function
相关文章推荐
- vb写bho
- vbMHWB控件同webbrowser一样
- VB获取IE8地址栏的URL
- VB POST数据
- VB与DDE进程通信
- C# 6.0 和VB.NET 14 新特性(翻译)
- 机房收费系统基本流程
- Opengl ES IBO(索引缓冲区) VBO(顶点缓冲区)创建一个立方体
- vba 中的异常处理
- 关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决
- 简易配置文件的读取(VB.NET)
- VB6.0程序图标
- 解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
- 【VBS】发邮件
- VB .bas文件生成dll并且调用
- DVB-S相关术语说明
- DVB-S info
- The Role of DTV Network Interfaces in Media Controller Support for DVB
- VBS学习日记(一个) 开始了解
- 【VB】MSHFlexGrid中数据导入到Excel(机房问题)