Chr*_*tow 36
如果需要对查询字符串的数据进行URL编码,可以使用Uri.EscapeDataString,如果不介意引用System.Web,则可以使用HttpUtility.UrlEncode:
var rawString = @"this & that";
var uriEncoded = Uri.EscapeDataString(rawString);
var httpUtilityEncoded = HttpUtility.UrlEncode(rawString);
Run Code Online (Sandbox Code Playgroud)
它们非常相似,但在编码特殊字符(如空格)的方式中可以产生微妙的不同结果:
Console.WriteLine(uriEncoded);
// uriEncoded = "this%20%26%20that"
Console.WriteLine(httpUtilityEncoded);
// httpUtilityEncoded = "this+%26+that"
Run Code Online (Sandbox Code Playgroud)
小智 5
您是否尝试过:
var url = System.Net.WebUtility.UrlEncode(string);
Run Code Online (Sandbox Code Playgroud)
您不需要依赖于 System.Web,您可以在 PCL 中使用它,我在我的 Xamarin 表单项目中使用了它。