我需要使用标准库来编码这样的字符串:
“{some-string.for#encode}
”至“%7bsome%2dstring%2efor%23encode%7d"
HttpUtility.UrlDecode("{some-string.for#encode}")
不能按预期工作并返回:
“%7bsome-string.for%23encode%7D”
答案 0 :(得分:3)
-
和.
未被编码的原因是section 2.3 of rfc3986 明确允许将其作为" nonserved"字符。因此,没有符合标准的百分比编码器会做这一点,原因完全相同,他们不编码"某些" ( 部分2.3,通过标签ALPHA
)。
所以:如果您不遵守规范,那么您必须自己编写编码器。