【问题标题】:What characters dont get Encoded?哪些字符没有被编码?
【发布时间】:2011-07-27 05:30:05
【问题描述】:
所以我在 C# 中构建一个 WebAPI,当我使用编码我的字符串时
Uri.EscapeDataString(String)
有些字符的编码不像!。
我很好奇是否有所有未编码字符的列表
因为用户几乎可以传递任何东西。所以我可以创建一个异常并自己手动对其进行编码。
提前致谢!
【问题讨论】:
标签:
c#
web-services
api
urlencode
encode
【解决方案1】:
Uri.EscapeDataString 方法的MSDN 页面显示:
默认情况下,EscapeDataString
方法转换所有字符,除了
对于 RFC 2396 未保留的字符
它们的十六进制表示。
RFC 2396 在第 2.3 章中说。未保留字符:
unreserved = alphanum | mark
mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"