public static string UrlDecode(byte[] bytes, Encoding e) { if (bytes == null) { return(null); } return(XmlaHttpUtility.UrlDecode(bytes, 0, bytes.Length, e)); }
public static string UrlDecode(string str) { if (str == null) { return(null); } return(XmlaHttpUtility.UrlDecode(str, Encoding.UTF8)); }
internal void FillFromString(string s, bool urlencoded, Encoding encoding) { int num = (s != null) ? s.Length : 0; for (int i = 0; i < num; i++) { int num2 = i; int num3 = -1; while (i < num) { char c = s[i]; if (c == '=') { if (num3 < 0) { num3 = i; } } else if (c == '&') { break; } i++; } string text = null; string text2; if (num3 >= 0) { text = s.Substring(num2, num3 - num2); text2 = s.Substring(num3 + 1, i - num3 - 1); } else { text2 = s.Substring(num2, i - num2); } if (urlencoded) { base.Add(XmlaHttpUtility.UrlDecode(text, encoding), XmlaHttpUtility.UrlDecode(text2, encoding)); } else { base.Add(text, text2); } if (i == num - 1 && s[i] == '&') { base.Add(null, string.Empty); } } }
internal void FillFromEncodedBytes(byte[] bytes, Encoding encoding) { int num = (bytes != null) ? bytes.Length : 0; for (int i = 0; i < num; i++) { int num2 = i; int num3 = -1; while (i < num) { byte b = bytes[i]; if (b == 61) { if (num3 < 0) { num3 = i; } } else if (b == 38) { break; } i++; } string name; string value; if (num3 >= 0) { name = XmlaHttpUtility.UrlDecode(bytes, num2, num3 - num2, encoding); value = XmlaHttpUtility.UrlDecode(bytes, num3 + 1, i - num3 - 1, encoding); } else { name = null; value = XmlaHttpUtility.UrlDecode(bytes, num2, i - num2, encoding); } base.Add(name, value); if (i == num - 1 && bytes[i] == 38) { base.Add(null, string.Empty); } } }