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编码的。
总结:
以上是我爬页面数据的时候碰到的问题。 写在这里 警醒自己