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 空间进行编码的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 301 重定向而不是 302 将 HTTP 站点重定向到 HTTPS 站点

如何在 asp.net mvc C# 中使用 paypal 交易的交易 ID 获取交易详情?

.NET 中是不是可以使用 C# 实现基于事件的异步模式而无需多线程?

如何知道拆分字符串的索引是不是存在 C# .NET

C++(MFC,而不是 .NET)应用程序的程序集重定向

C#中short的CompareTo()方法