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);


作者最新文章
C# ASP.NET Core Web Api 与 MVC 模式下 body 参数传递,post 参数方式
C# ASP.NET Framework Web Api 模式下 body 参数传递,post 参数方式
C# 如何创建 NuGet 包(.NET Core SDK)
C# 如何创建 NuGet 包(.NET Framework)
C# .net core 读取json文件,自定义配置文件 appsetting.json