asp.net中gb2312与utf8编码与解码

asp.net 中,默认的url参数是用utf-8编码的,但是有很多时候不是用的默认编码,比如gb2312也是常用的之一,如下:

编码:

1 string tmp1 = System.Web.HttpUtility.UrlEncode(".net技术", System.Text.Encoding.GetEncoding("GB2312"));
2 
3 string tmp2 = System.Web.HttpUtility.UrlEncode(".net技术", System.Text.Encoding.UTF8);
 

解码:

1 using System.Collections.Specialized; 
2 
3 NameValueCollection gb =
4             HttpUtility.ParseQueryString(context.Request.Url.Query, Encoding.GetEncoding("GB2312"));
5 string Msg = gb["QueryField"]; 


其中tmp1和tmp2为两个不同编码的参数,解码部分的QueryField为其中的tmp1,因为tmp1是用gb2312编码的。如果要解码tmp2,将解码部分的编码“GB2312”改为"UTF-8" 即可。

posted @ 2010-06-08 14:37  tonySuen  阅读(6309)  评论(0编辑  收藏  举报