2019-11-14 更新
下面是 .net Core
1.URL 编码解码
可能编码时用的是 string s1= Microsoft.JScript.GlobalObject.escape("A+B");这个编码时,不会对+号进行编码,然后用HttpUtility.UrlDecode解码时+(加号)就变成了空格,解决办法是 HttpUtility.UrlDecode(s1.Replace("+", "+")),这样就可以了
2.获取URL参数键值对
不知道大家有没有注意过 字符串保存到数据库里是
这样的一段字符
要引用.net 自带的DLL Microsoft.JScript
这字符是 Escape编码
//Escape编码,同js public static string Escape(string str) { return Microsoft.JScript.GlobalObject.escape(str); } //UnEscape解码,同js public static string UnEscape(string str) { return Microsoft.JScript.GlobalObject.unescape(str); }
下面是 .net Core
1.URL 编码解码
string result1 = HttpUtility.UrlEncode("张三丰"); Console.WriteLine(result1); // string result2 = HttpUtility.UrlDecode(result1); Console.WriteLine(result2); // 张三丰HttpUtility.UrlDecode +号变成了空格,有人看到什么都没有以为消失了
可能编码时用的是 string s1= Microsoft.JScript.GlobalObject.escape("A+B");这个编码时,不会对+号进行编码,然后用HttpUtility.UrlDecode解码时+(加号)就变成了空格,解决办法是 HttpUtility.UrlDecode(s1.Replace("+", "+")),这样就可以了
2.获取URL参数键值对
string path = "name=zhangsan&age=13"; NameValueCollection values = HttpUtility.ParseQueryString(path); Console.WriteLine(values.Get("name"));// zhangsan Console.WriteLine(values.Get("age")); // 133.HTML 编码解码
string html = "<h1>张三丰</h1>"; string html1 = HttpUtility.HtmlEncode(html); Console.WriteLine(html1); // <h1>张三丰</h1> string html2 = HttpUtility.HtmlDecode(html1); Console.WriteLine(html2); // <h1>张三丰</h1>