【问题标题】:Equivalent to Javascript's encodeURI? [duplicate]相当于Javascript的encodeURI? [复制]
【发布时间】:2014-02-10 20:32:02
【问题描述】:

C# 的 encodeURIComponent 等价于 SO 和其他地方的 well-covered,但是 encodeURI 呢?基本上我只想编码 invalid URL 字符而不是 保留 字符,例如 /: 等。所以

"http://www.example.com/my cool page"

将被编码为

"http://www.example.com/my%20cool%20page"

.NET 中是否有一些东西可以做到这一点?还是我最好的选择是正则表达式?

【问题讨论】:

  • (请注意链接问题中提出的许多方法之间的细微差别。)
  • 请不要关闭这个问题。这不是 encodeURIComponent 问题的重复;我试图在第一句话中明确区分。
  • 没有任何东西融入.NET,这取决于您使用的框架。 ASP.NET、.NET 4.5、便携式库等...

标签: c# .net urlencode encodeuricomponent


【解决方案1】:

试试

Uri.EscapeUriString("http://www.mysite.com/my cool page")

【讨论】:

  • 这是最便携的方法
  • 宾果游戏,这就是我想要的。 HttpUtility.UrlEncode(和类似的)编码整个事情,即http%3a%2f%2fwww.mysite.com%2fmy+cool+page,这不是我想要的。谢谢!
【解决方案2】:

试试

Server.URLEncode(uri.ToString)

【讨论】:

  • 这不是 ASP.NET 特有的吗?
【解决方案3】:

试试这个:

HttpUtility.UrlEncode(String)

例如:

var url_encoded_string = HttpUtility.UrlEncode(userInput);

【讨论】:

    【解决方案4】:

    你可以使用System.Net.WebUtility.UrlEncode(string value)

    【讨论】:

    • 适用于 .NET 4 及更高版本(适用于 Windows 应用商店)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 2011-12-17
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    相关资源
    最近更新 更多