以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  URL 编码,十六进制字符必须大写的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161058)

--  作者:hgzvip
--  发布时间:2021/3/4 15:15:00
--  URL 编码,十六进制字符必须大写的问题
老师,遇到一个问题,如下代码

Dim ul As String = "http://www.foxtable.com/?page=123"
MessageBox.Show(UrlEncode(ul))

结果是 http%3a%2f%2fwww.foxtable.com%2f%3fpage%3d123

我一个API文档要求:

使用 UTF-8 编码,且进行了 URL 编码,十六进制字符必须大写,如 “:” 会被编码为 “%3A” ,空格被编码为 “%20”。

请问如何把字符串定义为UTF-8编码,且如何才能在编码的时候让十六进制字符大写呢?谢谢

--  作者:有点蓝
--  发布时间:2021/3/4 15:23:00
--  
http%3a%2f%2fwww.foxtable.com%2f%3fpage%3d123

就只是上面红颜色的需要大写,其它字符不需要?如果这样就只能自己手工拼接字符串了。比如

Dim url As String = "http" & UrlEncode("://").ToUpper & "2fwww.foxtable.com" & UrlEncode("/?").ToUpper & "page" ‘& ......
msgbox(url)