您的位置:首页 > 其它

容易混乱的几个编码函数

2007-10-12 10:10 183 查看
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>---><br>

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);

反之就不写啦,希望对大家有进一步认识,不足的请指正补充,谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: