【Url编码问题】命名空间“System.Web”中不存在类型或命名空间名称“HttpUtility”。是否缺少程序集引用?

vs2010下解决方案:

1、右击项目选择“属性”,目标框架选择“.net FrameWord 4”;

2、右击项目中的引用,添加引用,在.net下选择System.Web,确定OK。

解释:

framework 4 client profile 为 framework 4的简化版,去掉了好多功能。web.dll就是其中,所以,引用原版即可,即为.net FrameWord 4



一般来说,国外的网站都是按照UTF-8编码,而“百度”是按照“GB2312”进行编码的。比如搜索“中国”,URL是“http://www.baidu.com/s?wd=%D6%D0%B9%FA&cl=3”

我们对比一下:C#中国的编码

编码 结果 网站 
UTF-8 C%23%E4%B8%AD%E5%9B%BD Google 
GB2312 C%23%D6%D0%B9%FA BaiDu

总结: 
UTF-8中,一个汉字对应三个字节,GB2312中一个汉字占用两个字节。 
不论何种编码,字母数字都不编码,特殊符号编码后占用一个字节。

//按照UTF-8进行编码 
string tempSearchString1 = System.Web.HttpUtility.UrlEncode("C#中国"); 
//按照GB2312进行编码 
string tempSearchString2 = System.Web.HttpUtility.UrlEncode("C#中国",System.Text.Encoding.GetEncoding("GB2312"));


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值