C# .Net 如何使用 %20 而不是 + [重复] 对 URL 空间进行编码

Posted

技术标签:

【中文标题】C# .Net 如何使用 %20 而不是 + [重复] 对 URL 空间进行编码【英文标题】:C# .Net How to Encode URL space with %20 instead of + [duplicate] 【发布时间】:2018-03-02 09:11:39 【问题描述】:

如何使用 %20 而不是 + 对查询字符串空间进行编码? 因为System.Web HttpUtility.UrlEncode() 给了+ 的空间。

【问题讨论】:

在现代 .Net Core UrlEncode 中使用 %20 @MichaelFreidgeim 请你比“现代”更具体一点 - 我正在使用目标框架 netcoreapp3.1 和 HttpUtility.UrlEncode(somestring) 给我 + 而不是 %20 【参考方案1】:

https://msdn.microsoft.com/en-us/library/system.uri.escapeuristring(v=vs.110).aspx

var encoded = Uri.EscapeUriString("How to encode");

输出:

How%20to%20encode

【讨论】:

你可能想使用 Uri.EscapeDataString() 因为 Uri 字符串会得到空格但不会编码其他字符。示例“#”

以上是关于C# .Net 如何使用 %20 而不是 + [重复] 对 URL 空间进行编码的主要内容,如果未能解决你的问题,请参考以下文章