在桌面程序里,使用Uri.EscapeDataString实现HttpUtility.UrlEncode

要把数据组合成为一个URL,然后去访问一个网站。想把URL里的参数转换成为安全的格式,以免以后有稀奇古怪的事情发生。

如果在Web程序里,可以使用HttpUtility.UrlEncode。如果在桌面程序里,HttpUtility.UrlEncode的调用不是很方便,要在reference里加入一个System.Web才能正常使用。但是我的程序是升级版,这样做怕对程序发布有影响,所以要找另外的方法实现。

System.Uri提供了一个解决的方案。在桌面程序里,可以使用System.UriEscapeDataString实现。Uri的EscapeDataString函数是一对的。除了有EscapeDataString外,还有UnescapeDataString

以下是一个例子:

//转换。
string ss = System.Uri.EscapeDataString("$%^&*(中文)!@#$%$#Test");
//转回来
string sss = System.Uri.UnescapeDataString(ss);
//显示转换后的字串
MessageBox.Show(ss);
//显示转回来的字串
MessageBox.Show(sss);

这个例子在VS2010和Windows 7 Pro下通过。英文和中文的转换没问题。如果中文的转换不行,有可能是跟系统设置有关。可以在控制面板里把系统的语言相关的地方设置一下。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值