在VB6.0中怎么实现escape和unescape

本文提供了在VB6.0中实现`escape`和`unescape`功能的两个函数代码,通过创建`MSScriptControl.ScriptControl`对象执行JavaScript的`escape`和`unescape`方法,以及自定义的`Escape`和`Unescape`函数进行字符串编码和解码。
摘要由CSDN通过智能技术生成
两套方案,一是调用JAVAscript对象,二是自己写代码编码与解码,代码在CSDN中的以下帖子里贴出:
方案一代码:

复制内容到剪贴板 程序代码
Function Escape(ByVal pstrInput As String) As String
Dim objScrCtl As Object

Set objScrCtl = CreateObject("MSScriptControl.ScriptControl")
objScrCtl.Language = "Javascript"
Unescape = objScrCtl.Eval("escape('" & pstrInput & "')")
Set objScrCtl = Nothing
End Function

Function Unescape(ByVal pstrInput As String) As String
Dim objScrCtl As Object

Set objScrCtl = CreateObject("MSScriptControl.ScriptControl")
objScrCtl.Language = "Javascript"
Unescape = objScrCtl.Eval("unescape('" & pstrInput & "')")
Set objScrCtl = Nothing
End Function



方案二代码:

复制内容到剪贴板 程序代码
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值