EncodingProvider.GetEncoding 方法

定义

返回一个编码。

重载

GetEncoding(Int32)

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

GetEncoding(String)

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

GetEncoding(Int32, EncoderFallback, DecoderFallback)

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

GetEncoding(String, EncoderFallback, DecoderFallback)

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

GetEncoding(Int32)

Source:
EncodingProvider.cs
Source:
EncodingProvider.cs
Source:
EncodingProvider.cs

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

public:
 abstract System::Text::Encoding ^ GetEncoding(int codepage);
public abstract System.Text.Encoding GetEncoding (int codepage);
public abstract System.Text.Encoding? GetEncoding (int codepage);
abstract member GetEncoding : int -> System.Text.Encoding
Public MustOverride Function GetEncoding (codepage As Integer) As Encoding

参数

codepage
Int32

所请求编码的代码页标识符。

返回

与指定代码页关联的编码,如果此 EncodingProvider 无法返回对应于 codepage 的有效编码,则为 null

注解

调用方备注

此方法由 Encoding.GetEncoding (Int32) 方法调用。 不应直接从用户代码调用它。

实施者说明

重写 GetEncoding(Int32) 方法以返回子类支持的 EncodingProvider 一个或多个编码。 当用户代码尝试通过调用 GetEncoding(Int32) 方法检索编码时,该方法会将 codepage 标识符传递给每个已注册的编码提供程序,直到一个提供程序返回有效的编码。 如果没有返回有效的编码,则 GetEncoding(Int32) 方法将尝试检索其代码页标识符为 codepage的缓存编码。 因此,如果 codepage 不是你支持的编码的代码页标识符,则 该方法应返回 null;它不应引发异常。

调用方说明

此方法由 GetEncoding(Int32) 方法调用。 不应直接从用户代码调用它。

另请参阅

适用于

GetEncoding(String)

Source:
EncodingProvider.cs
Source:
EncodingProvider.cs
Source:
EncodingProvider.cs

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

public:
 abstract System::Text::Encoding ^ GetEncoding(System::String ^ name);
public abstract System.Text.Encoding GetEncoding (string name);
public abstract System.Text.Encoding? GetEncoding (string name);
abstract member GetEncoding : string -> System.Text.Encoding
Public MustOverride Function GetEncoding (name As String) As Encoding

参数

name
String

所请求编码的名称。

返回

与指定名称关联的编码,如果此 EncodingProvider 无法返回对应于 name 的有效编码,则为 null

注解

继承者的注释

重写 GetEncoding (String) 方法以返回子类支持的 EncodingProvider 编码。 当用户代码尝试通过调用 GetEncoding (String) 方法检索编码时,该方法会将 name 参数传递给每个已注册的编码提供程序,直到返回有效的编码。 如果没有返回有效的编码, 则 GetEncoding (String) 方法将尝试检索名称为 的 name缓存编码。 因此,如果 name 不是支持的编码的名称,则 方法应返回 null。 方法应引发异常的唯一情况是 如果 为 ,null则为 name

调用方备注

此方法由 Encoding.GetEncoding (String) 方法调用。 不应直接从用户代码调用它。

实施者说明

重写 GetEncoding(String) 方法以返回子类支持的 EncodingProvider 一个或多个编码。 当用户代码尝试通过调用 GetEncoding(String) 方法检索编码时,该方法会将 name 参数传递给每个已注册的编码提供程序,直到返回有效的编码。 如果没有返回有效的编码,则 GetEncoding(String) 方法将尝试检索名称为 的 name缓存编码。 因此,如果 name 不是支持的编码的名称,则 方法应返回 null。 方法应引发异常的唯一情况是 如果 为 ,null则为 name

调用方说明

此方法由 GetEncoding(String) 方法调用。 不应直接从用户代码调用它。

另请参阅

适用于

GetEncoding(Int32, EncoderFallback, DecoderFallback)

Source:
EncodingProvider.cs
Source:
EncodingProvider.cs
Source:
EncodingProvider.cs

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

public:
 virtual System::Text::Encoding ^ GetEncoding(int codepage, System::Text::EncoderFallback ^ encoderFallback, System::Text::DecoderFallback ^ decoderFallback);
public virtual System.Text.Encoding GetEncoding (int codepage, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
public virtual System.Text.Encoding? GetEncoding (int codepage, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
abstract member GetEncoding : int * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
override this.GetEncoding : int * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
Public Overridable Function GetEncoding (codepage As Integer, encoderFallback As EncoderFallback, decoderFallback As DecoderFallback) As Encoding

参数

codepage
Int32

所请求编码的代码页标识符。

encoderFallback
EncoderFallback

一个对象,在无法用此编码对字符进行编码时,该对象可用来提供错误处理过程。

decoderFallback
DecoderFallback

一个对象,在无法用此编码对字节序列进行解码时,该对象可用来提供错误处理过程。

返回

与指定代码页关联的编码,如果此 EncodingProvider 无法返回对应于 codepage 的有效编码,则为 null

注解

encoderFallbackdecoderFallback 参数是定义回退策略的对象,当编码器无法将字符转换为字节序列或解码器无法将字节序列转换为字符时使用的回退策略。 .NET Framework提供以下回退机制:

继承者说明

由于对此方法的调用使用方法的 GetEncoding(Int32) 实现,因此无需重写它。 当用户代码尝试通过调用 GetEncoding(Int32, EncoderFallback, DecoderFallback) 方法检索编码时,该方法会将 codepage 标识符传递给每个已注册的编码提供程序,直到一个提供程序返回有效的编码。 如果没有返回有效的编码,则 GetEncoding(Int32) 方法将尝试检索其代码页标识符为 codepage的缓存编码。 因此,如果你确实选择重写 GetEncoding(Int32, EncoderFallback, DecoderFallback) 方法,则重写应返回 null (如果 codepage 不是你支持的编码的代码页标识符);它不应引发异常。

调用方说明

此方法由 GetEncoding(Int32, EncoderFallback, DecoderFallback) 方法调用。 不应直接从用户代码调用它。

另请参阅

适用于

GetEncoding(String, EncoderFallback, DecoderFallback)

Source:
EncodingProvider.cs
Source:
EncodingProvider.cs
Source:
EncodingProvider.cs

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

public:
 virtual System::Text::Encoding ^ GetEncoding(System::String ^ name, System::Text::EncoderFallback ^ encoderFallback, System::Text::DecoderFallback ^ decoderFallback);
public virtual System.Text.Encoding GetEncoding (string name, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
public virtual System.Text.Encoding? GetEncoding (string name, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
abstract member GetEncoding : string * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
override this.GetEncoding : string * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
Public Overridable Function GetEncoding (name As String, encoderFallback As EncoderFallback, decoderFallback As DecoderFallback) As Encoding

参数

name
String

首选编码的名称。

encoderFallback
EncoderFallback

一个对象,在无法用此编码对字符进行编码时,该对象可用来提供错误处理过程。

decoderFallback
DecoderFallback

一个对象,在无法用当前编码对字节序列进行解码时,该对象可用来提供错误处理过程。

返回

与指定名称关联的编码,如果此 EncodingProvider 无法返回对应于 name 的有效编码,则为 null

注解

encoderFallbackdecoderFallback 参数是定义回退策略的对象,当编码器无法将字符转换为字节序列或解码器无法将字节序列转换为字符时使用的回退策略。 .NET Framework提供以下回退机制:

继承者说明

由于对此方法的调用使用方法的 GetEncoding(String) 实现,因此无需重写它。 当用户代码尝试通过调用 GetEncoding(String, EncoderFallback, DecoderFallback) 方法检索编码时,该方法会将 codepage 标识符传递给每个已注册的编码提供程序,直到一个提供程序返回有效的编码。 如果没有返回有效的编码,则 GetEncoding(Int32) 方法将尝试检索其代码页标识符为 codepage的缓存编码。 因此,如果你确实选择重写 GetEncoding(Int32, EncoderFallback, DecoderFallback) 方法,则重写应返回 null (如果 codepage 不是你支持的编码的代码页标识符);它不应引发异常。

调用方说明

此方法由 GetEncoding(String, EncoderFallback, DecoderFallback) 方法调用。 不应直接从用户代码调用它。

另请参阅

适用于