2017-10-16 91 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)。所以:如果你不打算遵循規範,你將不得不自己編寫編碼器。