我試圖對一些字符串進行URL編碼,但是我使用.Net框架提供的方法存在問題。URL編碼ASCII/UTF16字符
例如,我正在嘗試包含'â'字符的編碼字符串。例如,根據w3schools,我希望這個caracter被編碼爲'%E2'(我必須調用一個PHP系統也期望這個...)。
我嘗試使用以下方法:
System.Web.HttpUtility.UrlEncode("â");
System.Web.HttpUtility.UrlPathEncode("â");
Uri.EscapeUriString("â");
Uri.EscapeDataString("â");
然而,它們都編碼這個字符爲: %C3%A2
我想這事做的事實,在.net中的字符串是UTF-16編碼的。因此,爲了避免這個問題,我可以這樣寫,例如:
"%" + ((int)character).ToString("X")
不過,我想知道,如果框架已經有一個內置的方法(我不能在這裏或其他地方找到任何答案爲什麼我的角色是這樣編碼的)?
由於兩者的您。我沒有注意到有超載......我給你答案,因爲你是第一個回答。 – Matthieu