【问题标题】:URL encode in C#C# 中的 URL 编码
【发布时间】:2012-06-02 19:25:23
【问题描述】:

我无法找到正确的方法在 C# 中对字符串进行 URL 编码。我想要的是将字符串some string 编码为some%20code。使用HttpUtility.URLEncode();方法编码为some+string

【问题讨论】:

  • 正确的方法。
  • 那么问题出在哪里?你应该使用 HttpUtility.URLEncode
  • 那么,string.Replace("+", "%20") 有什么问题吗?

标签: c# urlencode


【解决方案1】:

本主题讨论了 URI 的一些内置编码选项:

How do I replace all the spaces with %20 in C#

【讨论】:

    【解决方案2】:

    如果您想要将空格编码为%20 而不是+,则必须自己进行编码。

    在 URL 编码中,+ 表示空格。您也可以使用%20,就像您可以对任何字符使用字符代码变体一样,但内置编码使用较短的变体。

    【讨论】:

      【解决方案3】:

      HttpUtility.UrlEncode 在这里做正确的事。

      对 URL 字符串进行编码。 UrlEncode 方法可用于对整个 URL 进行编码,包括查询字符串值。

      当涉及到 URL 上的空格时,+%20 都是正确的。

      另见URL encoding the space character: + or %20?

      【讨论】:

      • 问题是我正在发送 HTTP 请求以获取网页,其中“+”无效。例如。发送带有“some+string”的查询将搜索“some+string”,而不是“some string”。
      • HttpUtility.UrlEncode() 所需的最低 .NET 版本是多少(不一定是 MSDN 页面中列出的)?
      猜你喜欢
      • 2011-09-20
      • 1970-01-01
      • 2019-06-01
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      • 1970-01-01
      • 2011-12-26
      相关资源
      最近更新 更多