如何在WinForms中对URL进行编码

本文关键字:编码 URL 中对 WinForms | 更新日期: 2023-09-27 17:57:02

我正在创建一个Windows应用程序,我需要传递一个编码的URL。但我不确定如何在 WinForms C# 中对其进行编码?

如何在WinForms中对URL进行编码

如果需要对查询字符串的数据进行 URL 编码,可以使用 Uri.EscapeDataString,或者,如果您不介意引用 System.Web,可以使用 HttpUtility.UrlEncode:

var rawString = @"this & that";
var uriEncoded = Uri.EscapeDataString(rawString);
var httpUtilityEncoded = HttpUtility.UrlEncode(rawString);

它们非常相似,但在特殊字符(如空格)的编码方式上会产生微妙不同的结果:

Console.WriteLine(uriEncoded);
// uriEncoded = "this%20%26%20that"
Console.WriteLine(httpUtilityEncoded);
// httpUtilityEncoded = "this+%26+that"

try Uri.EscapeUriString()

您是否尝试过:

var url = System.Net.WebUtility.UrlEncode(string);

您不需要依赖于System.Web,您可以在PCL中使用它,我在Xamarin表单项目中使用它。