1. ホーム
  2. c#

System.Web.HttpUtility.UrlEncode/UrlDecode ASP.NET 5 の代替となるもの。

2023-09-22 18:10:36

質問

に代わるものがあるかどうか知りたいです。 System.Web.HttpUtility.UrlEncodeUrlDecode .

私が見つけたように Encode はそうであるべきです。 Microsoft.Framework.WebEncoders.UrlEncoder.Default.UrlEncode .

しかし、私は UrlDecode . あるのでしょうか?

どのように解決するのですか?

System.Runtime.Extensions(システム ランタイム エクステンション の両方が定義されています。 UrlDecodeHtmlDecode .

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[]); }
    }
}

更新情報

一方 System.Runtime.Extensions は拡張機能を定義していますが、そのコードからわかるように、実際に呼び出す必要があるクラスは System.Net.WebUtility

オプション1 : System.Net.WebUtility

現在のところ、公にされた計画はありません。 DecodeMicrosoft.Framework.WebEncoders .

使用方法

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

オプション2 : System.Text.Encodings.Web.UrlEncoderを使用します。

これは asp.net core サービスコンテナに登録され、コントローラなどに注入することができます。