asp.net UrlEncode对应asp urlencode的处理方法

发布时间:2019-11-17编辑:脚本学堂
验证程序是asp开发的,接受用户名和密码两个参数,验证成功后输出xml格式的用户详细信息。中文用户名经过asp.net的Server.UrlEncode 之后是4字节编码(UTF8),而asp的urlencode却是用的系统默认编码,2字节。

写过一个注册功能,需要用论坛的用户名密码验证,验证程序是asp开发的,接受用户名和密码两个参数,验证成功后输出xml格式的用户详细信息。
不过有个问题,中文用户名经过asp.net的Server.UrlEncode 之后是4字节编码(UTF8),而asp的urlencode却是用的系统默认编码,2字节。
开始使用 Encoding.Convert转换,以失败而结束。
后来发现 HttpUtility 中也有一个UrlEncode,其中有一个重载:
 

复制代码 代码如下:
public static string UrlEncode(
   string str,
   Encoding e
);

测试:
 

复制代码 代码如下:
HttpUtility.UrlEncode (name, Encoding.Default).ToUpper();

竟然可以使用,跟asp的结果一样,高兴的不得了,哈哈。