当我从System.Web使用HttpUtility时,我发现每次调用方法.ParseQueryString我都有特殊的字符编码到他们的unicode等效表示.我尝试了许多不同的编码类型,似乎都产生了相同的结果.我的代码示例如下:
string text = "ich möchte diese Bild für andere freigeben"
var urlBuilder = new UriBuilder(url);
var query = HttpUtility.ParseQueryString(urlBuilder.Query, Encoding.UTF8);
query["text"] = text;
urlBuilder.Query = query.ToString();
string finalUrl = urlBuilder.ToString();
Run Code Online (Sandbox Code Playgroud)
finalUrl我将从中收到的字符串将是:
文本= ICH + M%u00f6chte + diese +图片报+ F%u00fcr + ANDERE + freigeben
我尝试过使用Encoding.UTF8,Encoding.ASCII并且Encoding.Default它们都产生相同的结果.我该怎么做才能达到我想要的UrlEncoding格式:
文本= ICH%20米%C3%B6chte%20diese%20Bild%20F%C3%BCR%20andere%20freigeben
一如既往,提前感谢您的帮助/建议!