ASP.NET Core(.NET Core)中使用UrlDecode和UrlEncode方法

ASP.NET Core (基于 .NET Core 或 .NET 5/6/7 等后续版本) 中,对URL进行编码和解码主要通过 System.Net.WebUtility 类或者 Microsoft.AspNetCore.WebUtilities 类中的方法来实现。这两个类提供了对URL的编码(UrlEncode)和解码(UrlDecode)功能,但它们的使用上有一些细微的差别。System.Net.WebUtility 类适用于所有 .NET 应用程序,而 Microsoft.AspNetCore.WebUtilities 类提供了一些额外的功能,专门用于 ASP.NET Core 应用程序。

1、.NET Core 1.1中使用

在.NET Core 1.1中使用UrlDecode和UrlEncode方法,可能需要安装Nuget包,安装方法如下,

PM> Install-Package Microsoft.AspNetCore.WebUtilities -Version 2.1.1

命令空间:System.Net.WebUtility

public static class WebUtility
{
    public static string UrlDecode(string encodedValue);
    public static string UrlEncode(string value);
}

使用方法

WebUtility.UrlDecode(code)
WebUtility.UrlEncode(code)

2、.Net Core 2.0中使用

在Net Core 2.0中,WebUtility类和下面的两种方法都可以直接使用,不需要安装NuGet包。

1)命名空间:using System.Text.Encodings.Web;

使用方法

UrlEncoder.Default.UrlEncode(code)
UrlEncoder.Default.UrlDecode(code)

2)命名空间:using System.Web;

使用方法

HttpUtility.UrlEncode(code)
HttpUtility.UrlDecode(code)
推荐阅读
cjavapy编程之路首页