DecoderFallback 類別

定義

針對無法轉換為輸出字元的編碼輸入位元組序列,提供失敗處理機制 (稱為後援)。

public ref class DecoderFallback abstract
public abstract class DecoderFallback
[System.Serializable]
public abstract class DecoderFallback
type DecoderFallback = class
[<System.Serializable>]
type DecoderFallback = class
Public MustInherit Class DecoderFallback
繼承
DecoderFallback
衍生
屬性

備註

編碼會將 Unicode 字元對應至編碼的位元組序列。 特定編碼方式是以衍生自 類別的 Encoding 型別表示。 具體來說,字元會藉由呼叫編碼類型的 Encoding.GetBytes 方法,將字元編碼為位元組序列,而位元組序列會藉由呼叫 Encoding.GetCharsEncoding.GetString 方法來解碼為字元陣列或字串。

如果輸入位元組序列無法透過編碼對應,解碼作業可能會失敗。 例如, ASCIIEncoding 如果該序列代表代碼點值超出 U+0000 到 U+007F 範圍的字元,物件就無法解碼位元組序列。

無法執行解碼轉換時,.NET Framework會提供稱為後援的失敗處理機制。 您的應用程式可以使用預先定義的.NET Framework解碼器後援,也可以建立衍生自 和 DecoderFallbackBuffer 類別的 DecoderFallback 自訂解碼器後援。

DecoderFallbackDecoderFallbackBuffer 是.NET Framework中所有解碼後援處理常式的基類。 它們支援下列三種後援處理機制:

  • 最適合的後援,它會對應無法解碼為近似對等專案的有效 Unicode 字元。 例如,類別的最佳 ASCIIEncoding 後援處理常式可能會將 Æ (U+00C6) 對應至 AE (U+0041 + U+0045) 。 您也可以實作最適合的後援處理常式,以將一個字母 (,例如 Cyrillic) 轉譯到另一個 (,例如拉丁或羅馬) 。 .NET Framework不提供任何公用最適合的後援實作。

  • 取代後援,它會取代無法以預先定義的字串解碼的每個字元。 .NET Framework提供預先定義的取代後援處理常式。 類別 DecoderReplacementFallback 會取代無法以問號字元 (「?」或 U+003F) 或 REPLACEMENT CHARACTER (U+FFFD) 解碼的每個位元組序列。 您可以在對建構函式的呼叫 DecoderReplacementFallback.DecoderReplacementFallback(String) 中指定替代專案,以自訂取代字串。 發出替代字串之後,解碼作業會繼續轉換輸入的其餘部分。

  • 例外狀況後援,當位元組序列無法解碼時,會擲回例外狀況。 .NET Framework提供預先定義的例外狀況後援處理常式。 當遇到不正確位元組序列,且解碼作業終止時,類別 DecoderExceptionFallback 會擲 DecoderFallbackException 回 。

如果您選擇實作自訂解決方案,則必須覆寫 類別的 DecoderFallback 下列抽象成員:

  • CreateFallbackBuffer方法,這個方法會傳回衍生自 DecoderFallbackBuffer 的類別實例。 根據您正在開發的後援處理常式類型而定,實 DecoderFallbackBuffer 作會負責執行對應或取代,或擲回例外狀況。

  • MaxCharCount屬性,傳回後援實作可以傳回的最大字元數。 如果是例外狀況後援處理常式,其值應該是零。

如需編碼、解碼和後援策略的詳細資訊,請參閱.NET Framework中的字元編碼

建構函式

DecoderFallback()

初始化 DecoderFallback 類別的新執行個體。

屬性

ExceptionFallback

取得物件,此物件會在無法對輸入位元組序列解碼時,擲回例外狀況。

MaxCharCount

在衍生類別中覆寫時,取得目前的 DecoderFallback 物件可以傳回的最大字元數。

ReplacementFallback

取得物件,此物件會產出替代字串,以取代無法解碼的輸入位元組序列。

方法

CreateFallbackBuffer()

在衍生類別中覆寫時,初始化 DecoderFallbackBuffer 類別的新執行個體。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱