1
我有下面的代碼:Uri中的所有特殊字符是什麼?
string myString = "test://mytest/v1.0~admin#1~password";
var myUri = new Uri(myString);
我發現#
後的部分不在myUri.LocalPath
。
我試圖用'
或&
替換散列(#
),這是沒有問題的。在哪裏我可以知道像#
這樣的特殊字符會在Uri中引起同樣的問題?
#之後的部分不是*應該*成爲LocalPath的一部分......'#'字符分隔了URI的片段部分。 –
我發現下面的代碼可以保持uri中的#:myString = myString.Replace(「#」,Uri.HexEscape('#'));我在這裏找到它:https://social.msdn.microsoft.com/Forums/vstudio/en-US/b1c72950-e07e-4935-bd70-7b5d68da6437/uri-class-not-works-for-ftpwebrequest-if-having -special-characters-in-uri-path-help?forum = netfxbcl在C#中是否有一個常用的方法會對整個字符串進行這種轉換?如果有更多的特殊字符,不只是「#」 – spspli