【发布时间】:2020-10-12 11:17:40
【问题描述】:
这肯定被问过很多次了,但提供的解决方案似乎不起作用。
输入:
sample text
输出:
sample%20text
我正在使用建议的 HttpUtility.UrlEncode(),但它返回的不是所需的输出:
sample+text
是我做错了什么,还是这个方法不再有效?
【问题讨论】:
-
这能回答你的问题吗? How do I replace all the spaces with %20 in C#? 这里是 Explanation 代表
+和%20代表空格 -
如果字符串进入查询参数(或 POST 表单主体 - MIME 类型为
application/x-www-form-urlencoded的任何内容),则+实际上是有效(且经常使用)的空格编码. (但是,如果它进入路径部分,则需要%20。) -
另外,docs 中对
Http.UrlEncode的备注也说明了这一点,您可以在需要%20的情况下使用Http.UrlPathEncode而不是+。跨度>