EncodingProvider.GetEncoding 方法

定義

傳回編碼方式。

多載

GetEncoding(Int32)

傳回與指定字碼頁識別項相關聯的編碼方式。

GetEncoding(String)

傳回具有指定名稱的編碼方式。

GetEncoding(Int32, EncoderFallback, DecoderFallback)

傳回與指定字碼頁識別項相關聯的編碼方式。 參數會針對無法編碼的字元以及無法解碼的位元組序列指定錯誤處理常式。

GetEncoding(String, EncoderFallback, DecoderFallback)

傳回與指定名稱建立關聯的編碼方式。 參數會針對無法編碼的字元以及無法解碼的位元組序列指定錯誤處理常式。

GetEncoding(Int32)

來源:
EncodingProvider.cs
來源:
EncodingProvider.cs
來源:
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)

來源:
EncodingProvider.cs
來源:
EncodingProvider.cs
來源:
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)

來源:
EncodingProvider.cs
來源:
EncodingProvider.cs
來源:
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) 方法,覆寫應該會傳回 ,如果 codepage 不是您所支援編碼的代碼頁標識碼,則應該永遠不會擲回null例外狀況。

給呼叫者的注意事項

此方法是由 GetEncoding(Int32, EncoderFallback, DecoderFallback) 方法呼叫。 您不應該直接從使用者程式代碼呼叫它。

另請參閱

適用於

GetEncoding(String, EncoderFallback, DecoderFallback)

來源:
EncodingProvider.cs
來源:
EncodingProvider.cs
來源:
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) 方法,覆寫應該會傳回 ,如果 codepage 不是您所支援編碼的代碼頁標識碼,則應該永遠不會擲回null例外狀況。

給呼叫者的注意事項

此方法是由 GetEncoding(String, EncoderFallback, DecoderFallback) 方法呼叫。 您不應該直接從使用者程式代碼呼叫它。

另請參閱

適用於