以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于URL编码问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=171220)

--  作者:hgzvip
--  发布时间:2021/8/23 0:31:00
--  关于URL编码问题
老师,想请教在狐表中用什么方法可以把一个空格转换成“%20”?我用UrlEncode(" "),结果是一个“+”号。但是在 http://tools.jb51.net/static/encodetxt/urlencode_decode/index.html 的在线转换中,选择encodeURLComponent函数时就可以。
而且它转换的冒号,是大写的%3A,用UrlEncode(":"),转成的是小写的%3a,也不是我想要的结果。
在狐表中能实现这样转换吗?谢谢

--  作者:有点蓝
--  发布时间:2021/8/23 8:36:00
--  

到全局代码添加下面代码:

 

Public Function PercentEncode(ByVal value As StringAs String

    Dim stringBuilder As StringBuilder = New StringBuilder()

    Dim text As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.~"

    Dim bytes As Byte() = System.Text.Encoding.UTF8.GetBytes(value)

    For Each b As Byte In bytes

        Dim c As Char = chr(b)

        If text.IndexOf(c) >= 0 Then

            stringBuilder.Append(c)

        Else

            stringBuilder.Append("%").Append(String.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:X2}", CInt(b)))

        End If

    Next

    Return stringBuilder.ToString()

End Function


调用

PercentEncode(" ")