在C#中,HttpUtility.UrlEncode("www+mzwu+com")編碼結果爲www%2bmzwu%2bcom,因爲一些服務器對大小寫敏感,要求結果改成www%2Bmzwu%2Bcom,注意,不是WWW%2BMZWU%2BCOM。
一開始看到這需求,個人注意力就轉移到怎麼將www%2bmzwu%2bcom轉爲www%2Bmzwu%2Bcom,正則等方法立刻浮現出來,最後發現,一開始思路就錯了,捨本逐末,用HttpUtility.UrlEncode就能夠搞定:
服務器
public string UrlEncode(string str) { StringBuilder builder = new StringBuilder(); foreach (char c in str) { if (HttpUtility.UrlEncode(c.ToString()).Length > 1) { builder.Append(HttpUtility.UrlEncode(c.ToString()).ToUpper()); } else { builder.Append(c); } } return builder.ToString(); }