2017-10-16 92 views
-2

我需要编码字符串,这样使用标准库来编码字符串: “{some-string.for#encode}”到“如预期%7bsome%2dstring%2efor%23encode%7d"如何使用.NET库

HttpUtility.UrlDecode("{some-string.for#encode}") 

不工作,回报:

“%7bsome-string.for%23encode%7D”

+3

好:*为什么*你需要编码的其他字符?像'-'和'.'这样的东西都不是*保留的,所以应该不需要%编码它们。如果你已经玩过不合规格,为什么不编码*每个*字符? –

回答

3

之所以-.没有被编码是section 2.3 of rfc3986明确允许他们作为“未保留”的字符。同样地,没有标准符合百分比编码器将这,完全相同的原因,他们不编码“一些”(即部分2.3,通过标签ALPHA)。所以:如果你不打算遵循规范,你将不得不自己编写编码器。