public static string UrlEncode(string s) { if (s == null) { return(null); } string res = ""; for (int i = 0; i < s.Length; i++) { if (s[i] == ' ') { res += '+'; } else if (!IsSafe(s[i])) { res += '%' + ByteUtil.BytesToHex(Encoding.UTF8.GetBytes(s[i].ToString())); } else { res += s[i]; } } return(res); }