Replacement for System.Web.HttpUtility.UrlEncode/UrlDecode ASP.NET 5

C#asp.netasp.net Mvcasp.net Coreasp.net Core-Mvc

C# Problem Overview


I would like to know if there is a replacement for System.Web.HttpUtility.UrlEncode and UrlDecode.

As I found for Encode it should be: Microsoft.Framework.WebEncoders.UrlEncoder.Default.UrlEncode.

But I did not find UrlDecode. Is there one?

C# Solutions


Solution 1 - C#

System.Runtime.Extensions defines both UrlDecode and HtmlDecode.

namespace System.Net
{
    public static partial class WebUtility
    {
        public static string HtmlDecode(string value) { return default(string); }
        public static string HtmlEncode(string value) { return default(string); }
        public static string UrlDecode(string encodedValue) { return default(string); }
        public static byte[] UrlDecodeToBytes(byte[] encodedValue, int offset, int count) { return default(byte[]); }
        public static string UrlEncode(string value) { return default(string); }
        public static byte[] UrlEncodeToBytes(byte[] value, int offset, int count) { return default(byte[]); }
    }
}

Update

While System.Runtime.Extensions defines the extension, as you can notice from it's code the actual class you need to call is System.Net.WebUtility

Option 1: System.Net.WebUtility

Currently there are no publicly made plans to include Decode in Microsoft.Framework.WebEncoders.

Usage

System.Net.WebUtility.UrlEncode(myString)
System.Net.WebUtility.UrlDecode(myString)

Option 2: System.Text.Encodings.Web.UrlEncoder

This is registered in the asp.net core service container and is injectable into your controllers etc.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionbezejmenyView Question on Stackoverflow
Solution 1 - C#Mihai DinculescuView Answer on Stackoverflow