容易混乱的几个编码函数

来源:互联网 发布:智慧城市数据库设计 编辑:程序博客网 时间:2024/05/22 12:28

1.百度编码、解码

你在百度中输入"奇瑞",点击搜索后URL栏中会变成"%C6%E6%C8%F0",这是怎么编码的,如何解码.下面两段代码能解决这两个疑问:

//百度编码
Console.WriteLine(System.Web.HttpUtility.UrlEncode("奇瑞",   System.Text.UnicodeEncoding.GetEncoding("GB2312")).ToUpper());

//百度解码 
Console.WriteLine(System.Web.HttpUtility.UrlDecode("%C6%E6%C8%F0",   System.Text.UnicodeEncoding.GetEncoding("GB2312")));

2.HTML编码、解码函数

//HTML编码
System.Web.HttpUtility.HtmlEncode(string); Server.HtmlEncode(string)
//HTML解码
System.Web.HttpUtility.HtmlDecode(string);  Server.HtmlDecode(string)

即对HTML标签编码解码,非HTML标签不对其解码 比如<br>--->&lt;br&gt;

3.URL中编码、解码

//URL编码
System.Web.HttpUtility.UrlEncode(string); Server.UrlEncode(string);
System.Web.HttpUtility.UrlPathEncode(string); Server.UrlPathEncode(string);

UrlEncode与UrlPathEncode编码获范不一样
比如: UrlEncode对整个URL进行编码(即http://www.website.com/全部编码)
UrlPathEncode对http://之后的内容进行编码(即www.website.com)

//URL解码
System.Web.HttpUtility.UrlDecode(string); Server.UrlDecode(string);

4.UTF-8,GB2312转换

    utf-8>>gb2312

    string   content = "奇瑞";  
    byte[]   conby   =   Encoding.UTF8.GetBytes(content);  
    content   =   Encoding.GetEncoding("gb2312").GetString(conby);
    Console.WriteLine(content);

反之就不写啦,希望对大家有进一步认识,不足的请指正补充,谢谢

原创粉丝点击