EncodingProvider 类

定义

提供编码提供程序的基类,后者提供在特定平台上不可用的编码。

public abstract class EncodingProvider
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class EncodingProvider
继承
EncodingProvider
派生
属性

注解

编码提供程序提供在特定目标平台上不可用的编码。

.NET Framework支持大量字符编码和代码页。 可以通过调用 Encoding.GetEncodings 方法获取.NET Framework中可用的编码的完整列表。 另一方面,.NET Core 默认仅支持以下编码:

从 .NET Framework 4.6 开始,EncodingProvider是使其他不可用编码可用于.NET Framework的基类。 这包括以下步骤:

  1. 定义 的 EncodingProvider 子类,该类替代两个抽象 GetEncoding 重载 GetEncoding(Int32)GetEncoding(String)。 这些重载按代码页标识符和名称返回否则不支持的编码。 请注意,如果使用参数 0 调用方法, GetEncoding(Int32) 还可以选择返回默认编码。

  2. (可选)可以替代虚拟 GetEncoding(Int32, EncoderFallback, DecoderFallback)GetEncoding(String, EncoderFallback, DecoderFallback) 方法。 在大多数情况下,这不是必要的,因为基类提供默认实现。

  3. EncodingProvider 实例传递给 方法, Encoding.RegisterProvider 使 对象提供的 EncodingProvider 编码可供公共语言运行时使用。

  4. 调用重 Encoding.GetEncoding 载以检索编码。 方法 Encoding.GetEncoding 将调用相应的 EncodingProvider.GetEncoding ,以确定它是否可以提供请求的编码。

.NET Framework 类库提供了一个静态属性 ,CodePagesEncodingProvider.Instance该属性返回一个 EncodingProvider 对象,该对象使桌面上的完整编码集.NET Framework类库可用于 .NET Core 应用程序。 此外,可以从 类派生 EncodingProvider ,使自己的编码可用。

构造函数

EncodingProvider()

初始化 EncodingProvider 类的新实例。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetEncoding(Int32)

返回与指定代码页标识符关联的编码。

GetEncoding(Int32, EncoderFallback, DecoderFallback)

返回与指定代码页标识符关联的编码。 参数指定一个错误处理程序,用于处理无法编码的字符和无法解码的字节序列。

GetEncoding(String)

返回具有指定名称的编码。

GetEncoding(String, EncoderFallback, DecoderFallback)

返回与指定名称关联的编码。 参数指定一个错误处理程序,用于处理无法编码的字符和无法解码的字节序列。

GetEncodings()

返回一个数组,其中包含 EncodingProvider 支持的所有编码。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

另请参阅