在VB6.0中怎么实现escape和unescape,需要引用哪个API?

bsetsail 2011-10-07 07:15:36
如题
谢谢!
...全文
748 13 打赏 收藏 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
橘子皮... 2012-12-15
  • 打赏
  • 举报
回复
第一个代码当含有( ' "之类的字符时会有出错可能
橘子皮... 2012-12-15
  • 打赏
  • 举报
回复
引用 11 楼 Eagle112 的回复:
第二种方法不会报错,但有部分符号是要转换的 需要将 Case "0" To "9", "a" To "z", "A" To "Z", _ "-", "_", ".", "!", "~", "*", "'", "(", ")" 更改为 Case "0" To "9", "a" To "z", "A" To "Z", _……
你错了,第2个代码某些时候还是出错
Eagle112 2012-07-07
  • 打赏
  • 举报
回复
第二种方法不会报错,但有部分符号是要转换的

需要将
Case "0" To "9", "a" To "z", "A" To "Z", _
"-", "_", ".", "!", "~", "*", "'", "(", ")"


更改为
Case "0" To "9", "a" To "z", "A" To "Z", _
"-", "_", "/", ".", "*", "@"
Eagle112 2012-07-07
  • 打赏
  • 举报
回复
第一种方法当字符串中含有特殊字符时会报错
bsetsail 2011-10-13
  • 打赏
  • 举报
回复
测试过了,两种方法都没报错
用户 昵称 2011-10-08
  • 打赏
  • 举报
回复
看答案才看懂问题
嗷嗷叫的老马 2011-10-07
  • 打赏
  • 举报
回复
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
倒,还以为没发成功.

调用对象如果出错,就使用代码自己转换吧.
嗷嗷叫的老马 2011-10-07
  • 打赏
  • 举报
回复
什么错?什么情况下报?
嗷嗷叫的老马 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wowfiowow 的回复:]
你这个有时候会报错!![/Quote]
报什么错?什么情况下?
橘子皮... 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 myjian 的回复:]

VB code
Function Escape(ByVal pstrInput As String) As String
Dim objScrCtl As Object

Set objScrCtl = CreateObject("MSScriptControl.ScriptControl")
objScrCtl.Language = "Java……
[/Quote]

你这个有时候会报错!!
贝隆 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 myjian 的回复:]
VB code
Function Escape(ByVal pstrInput As String) As String
Dim objScrCtl As Object

Set objScrCtl = CreateObject("MSScriptControl.ScriptControl")
objScrCtl.Language = "J……
[/Quote]
学习了。。
嗷嗷叫的老马 2011-10-07
  • 打赏
  • 举报
回复
如果有性能要求,就写到一个类里,类初始化时将objScrCtl初始化,类销毁时objScrCtl销毁.
嗷嗷叫的老马 2011-10-07
  • 打赏
  • 举报
回复
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

直接创建JS对象即可.
下方可见数据集可视化效果。 【数据集概况】 · 检测类别(中文):[桅杆(mast)] · 训练集:2043 张 · 验证集:195 张 · 测试集:97 张 · 总计:2335 张 该数据集聚焦于运动场场景中的桅杆目标检测,通过采集多样化环境下的图像数据,为智能监控系统提供精准的检测基础,有效提升场景管理效率与安全性。数据集包含训练集2043张、验证集195张和测试集97张,训练集占比合理,验证集与测试集比例科学,充分保障模型训练的充分性和评估结果的可靠性。标注工作严谨规范,所有桅杆目标均被精确框定,边界框与物体轮廓高度吻合,标注质量达到行业高标准,为模型训练提供坚实保障。该... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 34 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9948** mAP50-95 | 0.8617 Precision | 0.9899 Recall | 0.9999 train/box_loss | 0.6284 train/cls_loss | 0.2131 val/box_loss | 0.6118 val/cls_loss | 0.1750 【训练过程分析】 34 轮训练后 mAP50 达到 0.9948,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。mAP50-95 为 0.8617,和 mAP50 差距仅 0.13,框的定位精度也很扎实。 【模型性能评估】 Precision 0.9899、Recall 0.9999,精召双高,模型对桅杆的检测能力强。...

7,788

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧