首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET UrlEncode不工作?

.NET UrlEncode不工作?
EN

Stack Overflow用户
提问于 2015-06-19 07:55:56
回答 2查看 5.7K关注 0票数 8

根据urlencode.asp,当请求被提交时,它们是被URL编码的,例如,空间被转换为%20。

我对此有意见!在表单中提交它将按其应有的方式将其转换为%21。然而,HttpUtility.UrlEncode (或其WebUtility合作伙伴)或Uri.EscapeDataString都将返回!这是否一种预期的行为?我应该如何从c#对输入进行编码,以便它能够转换正确的值?

EN

Stack Overflow用户

回答已采纳

发布于 2015-06-19 08:04:00

感叹号被认为是URL安全的ASCII字符,因此不编码百分比.

来自MSDN

UrlEncode方法URL-对被认为是URL安全的一组ASCII字符中的任何字符进行编码。空格被编码为ASCII "+“字符。URL安全的ASCII字符包括ASCI字符(A到Z和a到z)、数字(0到9)和一些标点符号。下表列出了被视为URL安全的ASCII字符的标点符号。

该表包含- _ . ! * ( )

更新

根据这个答案的说法,Uri.EscapeDataString在处理.NET 4.5项目时应该对.NET进行编码,但我无法在当前的机器上测试它。以前的EscapeDataString框架中的.NET不对上面的字符进行百分比编码。您可能只需使用String.Replace并替换转义URI中的上述字符。

票数 6
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30932903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档