今天突然遇到一個棘手的問題,就是對於url編碼的轉換。
大家上網的時候經常可以發現我們輸入的漢字在url傳輸的時候是%xx%xx的形式。
如果我們需要提取上面的信息該怎麼辦呢?如果是通過類似index.aspx?name=%xx%xx還可以通過request取得值。所以不用管那麼多。可是如果這些字符包含在一個地址裡面,而不是參數,怎麼辦?
用Uri.UnescapeDataString()函數轉化 後可以得到正確的中文編碼。
string ss = "%e9%ab%98%e6%b8%85%e6%99%b0";
string dd2 = Uri.UnescapeDataString(ss);
Response.Write(dd2);
最後得到結果:“高清晰!”
一點小小的發現,給大家參考一下。不過請教人的發現Java提供了同樣的一個函數。可是沒有想到.net放在uri裡面。