以文本方式查看主题 - 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 String) As 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(" ") |