我想知道是否有System.Web.HttpUtility.UrlEncode
和UrlDecode
的替代品。
正如我在Encode
找到的那样,它应该是:Microsoft.Framework.WebEncoders.UrlEncoder.Default.UrlEncode
。
但我没有找到UrlDecode
。有吗?
答案 0 :(得分:114)
System.Runtime.Extensions定义了UrlDecode
和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[]); }
}
}
虽然System.Runtime.Extensions
定义了扩展程序,但您可以从其代码中注意到您需要调用的实际类是System.Net.WebUtility
选项1 : System.Net.WebUtility
目前,没有公开计划在Decode
中加入Microsoft.Framework.WebEncoders
。
<强>用法强>
System.Net.WebUtility.UrlEncode(myString)
System.Net.WebUtility.UrlDecode(myString)
选项2 : System.Text.Encodings.Web.UrlEncoder
这是在asp.net核心服务容器中注册的,可以注入您的控制器等。