EncodingProvider 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供编码提供程序的基类,后者提供在特定平台上不可用的编码。
public ref class EncodingProvider abstract
public abstract class EncodingProvider
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class EncodingProvider
type EncodingProvider = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type EncodingProvider = class
Public MustInherit Class EncodingProvider
- 继承
-
EncodingProvider
- 派生
- 属性
注解
编码提供程序提供在特定目标平台上不可用的编码。
.NET Framework支持大量字符编码和代码页。 可以通过调用 Encoding.GetEncodings 方法获取.NET Framework中可用的编码的完整列表。 另一方面,.NET Core 默认仅支持以下编码:
ASCII (由 属性返回 Encoding.ASCII 的代码页 20127) 。
ISO-8859-1 (代码页 28591) 。
UTF-7 (由 属性返回 Encoding.UTF7 的代码页 65000) 。
UTF-8 (代码页 65001) ,该页由 Encoding.UTF8 属性返回。
UTF-16 和 UTF-16LE (代码页 1200) ,由 Unicode 属性返回。
UTF-16BE (代码页 1201) ,它通过调用 UnicodeEncoding.UnicodeEncoding(Boolean, Boolean) 值为 的
true
或 UnicodeEncoding.UnicodeEncoding(Boolean, Boolean) 构造函数bigEndian
进行实例化。UTF-32 和 UTF-32LE (代码页 12000) ,由 Encoding.UTF32 属性返回。
UTF-32BE (代码页 12001) ,它通过调用 UTF32Encoding 具有
bigEndian
参数的构造函数并在方法调用中提供 值true
来实例化。
从 .NET Framework 4.6 开始,EncodingProvider是使其他不可用编码可用于.NET Framework的基类。 这包括以下步骤:
定义 的 EncodingProvider 子类,该类替代两个抽象 GetEncoding 重载 GetEncoding(Int32) 和 GetEncoding(String)。 这些重载按代码页标识符和名称返回否则不支持的编码。 请注意,如果使用参数 0 调用方法, GetEncoding(Int32) 还可以选择返回默认编码。
(可选)可以替代虚拟 GetEncoding(Int32, EncoderFallback, DecoderFallback) 和 GetEncoding(String, EncoderFallback, DecoderFallback) 方法。 在大多数情况下,这不是必要的,因为基类提供默认实现。
将 EncodingProvider 实例传递给 方法, Encoding.RegisterProvider 使 对象提供的 EncodingProvider 编码可供公共语言运行时使用。
调用重 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) |