gpt4 book ai didi

c# - UriBuilder 无法对 UriBuilder 注册标志进行编码

转载 作者:可可西里 更新时间:2023-11-01 09:12:48 27 4
gpt4 key购买 nike

我正在开发一个 asp.net mvc web 应用程序。现在我的操作系统值等于:-

enter image description here

我正在使用以下代码构建一个包含上述值的 url,如下所示:-

var query = HttpUtility.ParseQueryString(string.Empty);
query["osName"] = OperatingSystem;


var url = new UriBuilder(apiurl);
url.Query = query.ToString();
string xml = client.DownloadString(url.ToString());

但生成的 url 将包含操作系统的以下值:-

osName=Microsoft%u00ae+Windows+Server%u00ae+2008+Standard

因此 UriBuilder 会将已注册的符号编码为 %u00ae+ 这是错误的,因为当我尝试使用在线网站(例如 http://meyerweb.com/eric/tools/dencoder/)解码 %u00ae+ 时它不会将 %u00ae+ 解码为寄存器符号 ???所以任何人都可以就此提出建议,我如何在我的网址中发送注册标志?这是 UrilBuilder 中的问题吗?

谢谢

编辑这将清楚地说明我的问题..现在我将 Assets 名称值传递为 £ ££££££现在查询 ["assetName"] 将获得正确的值..但在查询中,值将被错误编码(不会使用 UTF8 编码)!!!

enter image description here

最佳答案

试试这个:

url.Query = Uri.EscapeUriString(HttpUtility.UrlDecode(query.ToString()));

如此处所述HttpUtility.ParseQueryString() always encodes special characters to unicode

关于c# - UriBuilder 无法对 UriBuilder 注册标志进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38601784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com