哪些角色没有编码?

时间:2011-03-31 20:29:44

标签: c# web-services api urlencode encode

所以我在C#中构建一个WebAPI,当我使用

编码我的字符串时

Uri.EscapeDataString(字符串)

某些字符的编码不像!。

我很好奇是否列出了所有那些没有被编码的​​字符 因为用户几乎可以传递任何东西。所以我可以创建一个例外并自己手动编码。

提前致谢!

1 个答案:

答案 0 :(得分:7)

Uri.EscapeDataString方法的MSDN页面说:

  

默认情况下,EscapeDataString   方法转换所有字符除外   对于RFC 2396无保留字符   他们的十六进制表示。

RFC 2396在第2.3章中说明。未保留的角色:

  unreserved  = alphanum | mark

  mark        = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"