HttpUtility.UrlEncode,Server.UrlEncode 的区别

 

引用:

1、HttpUtility.UrlEncode,HttpUtility.UrlDecode是静态方法,而Server.UrlEncode,Server.UrlDecode是实例方法。
2、Server是HttpServerUtility类的实例,是System.Web.UI.Page的属性。
3、用HttpUtility.UrlEncode编码后的字符串和用Server.UrlEncode进行编码后的字符串对象不一样

 

 

server.urlEncode 可以根据你页面定义好的编码方式进行编码。

而 HttpUtility.UrlDecode则默认以utf8来编码。 不然你需要自己指定编码方式:

  Encoding gb2312= Encoding.GetEncoding("gb2312");

  string v5=   HttpUtility.UrlEncode("温州", gb2312);

 

 

 

然而我的页面中这样写道:

 string v3=  Server.UrlEncode("温州"); //那我的编码方式是什么呢?

那得看我的自己的设置了:

<system.web>

...
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" />

...

</system.web>

如果我把以上编码方式 修改,那v3得到的值就变了。

如下:

 

v3是utf8编码的。v5是gb2312编码的。

 

 

总结:

以上是我爬页面数据的时候碰到的问题。 写在这里 警醒自己

posted @ 2012-06-13 14:17  akak123  阅读(2206)  评论(0编辑  收藏  举报