C# 实现Url编码和解码

代码如下:

string url = "http://www.abc.com/这里是中文测试参数";

// 方式一
// 编码 http%3a%2f%2fwww.abc.com%2f%e8%bf%99%e9%87%8c%e6%98%af%e4%b8%ad%e6%96%87%e6%b5%8b%e8%af%95%e5%8f%82%e6%95%b0
string urlEncode = System.Web.HttpUtility.UrlEncode(url);

// 解码
string urlDecode = System.Web.HttpUtility.UrlDecode(urlEncode);

// 编码时指定编码
System.Web.HttpUtility.UrlEncode(url, System.Text.Encoding.UTF8);
System.Web.HttpUtility.UrlEncode(url, System.Text.Encoding.Unicode);
System.Web.HttpUtility.UrlEncode(url, System.Text.Encoding.GetEncoding("GB2312"));

// 解码时指定编码
System.Web.HttpUtility.UrlDecode(url, System.Text.Encoding.UTF8);
System.Web.HttpUtility.UrlDecode(url, System.Text.Encoding.Unicode);
System.Web.HttpUtility.UrlDecode(url, System.Text.Encoding.GetEncoding("GB2312"));


// 方式二, 只能在aspx, ashx, controller中使用
// 编码 http%3a%2f%2fwww.abc.com%2f%e8%bf%99%e9%87%8c%e6%98%af%e4%b8%ad%e6%96%87%e6%b5%8b%e8%af%95%e5%8f%82%e6%95%b0
string urlEncode2 = System.Web.HttpContext.Current.Server.UrlEncode(url);

// 解码
string urlDecode2 = System.Web.HttpUtility.UrlDecode(urlEncode);


作者最新文章
ASP.NET ashx 基类的使用方法, ashx 如何继承, ashx 基类如何实现
Winform TextBox (文本框) 密码输入框, 输入内容显示*号 (星号)
Winform 启动前弹出登录界面, 登录成功之后再显示主界面
C# 字符串string和字符数组char[]的相互转换
C# 字符串倒序输出, 实现字符串倒序的方法