您的位置:首页 > 理论基础 > 计算机网络

C#里HttpUtility.UrlEncode和JS端转换的心得

2010-02-12 14:01 309 查看
做网页开发一般都会用到Encode编码。在C#里,HttpUtility.UrlEncode()转换出来的编码,到了客户端用JS的decode方法转换后,发现总有个"+"号,原来字符串是没有“+”号的。

经分析后,发现问题原因在于,微软的HttpUtility.UrlEncode方法把空格转成"+"了( 如果原来是 "+" 则被转换成 "%2b" ) ,为了符合JS编码格式,把"+"替换成 "%20"即可。

如:

服务端:
message= HttpUtility.UrlEncode(message).Replace("+", "%20");

客户端:

decodeURIComponent(message);

PS. 后来用JAVA也测试一下,发现JAVA的Encode方法没这个问题,直接就把"+"转成"%20"了 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐