VB编写但urlencode太慢有没有加速的办法
dalihua2011 发布于2018-06 浏览:3687 回复:10
0
收藏

通用函数如下,但UBound(TmpData)超过70万,故造成速度特别慢,用户体验不好,有没有别的快速的方法或算来,来实现啊????

 

Public Function URLEncode(ByVal strParameter As String) As String
Dim S As String
Dim i As Double
Dim intValue As Integer
Dim TmpData() As Byte
S = ""
TmpData = StrConv(strParameter, vbFromUnicode)
For i = 0 To UBound(TmpData)
intValue = TmpData(i)
If (intValue >= 48 And intValue <= 57) Or (intValue >= 65 And intValue <= 90) Or (intValue >= 97 And intValue <= 122) Then
S = S & Chr(intValue)
ElseIf intValue = 32 Then
S = S & "+"
Else
S = S & "%" & Hex(intValue)
End If
Next i
URLEncode = S
End Function

 

 

收藏
点赞
0
个赞
共10条回复 最后由ra5973回复于2022-04
#13182194kin回复于2022-03
#10 aaa17343307689回复
如何提交工单反馈问题如何提交工单反馈问题

点击提交工单:https://ticket.bce.baidu.com/#/ticket/create~productId=96

0
#10aaa17343307689回复于2021-03

如何提交工单反馈问题如何提交工单反馈问题

0
#9qqzwc回复于2021-03

我也发现这个问题了,转换极其慢,搜了一下,调用JS来进行URLEncode就可以了,闪电转换完

Public Function Escape(ByVal strText As String) As String
'字符串特别长比如80万长度的时候,拼接操作极其缓慢(十几分钟都不止),直接调用JS的URLencode功能,瞬间完成
Set JS = CreateObject("msscriptcontrol.scriptcontrol")
JS.Language = "JavaScript"
Escape = JS.Eval("encodeURIComponent('" & Replace(Replace(strText, "'", "\'"), Chr(10), "") & "');")
End Function

0
#8森林微风3回复于2020-09

我也碰到同样的问题,请问楼主解决了吗?是否能分享一下,头大!!!

0
#7官中520回复于2019-09
#5 孤独蔕巡礼回复
老哥,我解决了,.net framework4.0有个自带的函数,快的很
展开

请问一下怎么实现的呢?可以附一下代码给我吗?谢谢

0
#6leafletyje回复于2019-01

有解决吗

0
#5孤独蔕巡礼回复于2018-12

老哥,我解决了,.net framework4.0有个自带的函数,快的很

0
#4hefeitest回复于2018-10

感觉vb和js一样,很不规法,看着乱

0
#3lichao_86回复于2018-10

vb现阶段落伍了吧

0
#2yun元冬回复于2018-07

小弟没啥好主意,等大神正在赶来~

0
TOP
切换版块