DecoderFallback Kelas

Definisi

Menyediakan mekanisme penanganan kegagalan, yang disebut fallback, untuk urutan byte input yang dikodekan yang tidak dapat dikonversi ke karakter output.

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
Warisan
DecoderFallback
Turunan
Atribut

Keterangan

Pengodean memetakan karakter Unicode ke urutan byte yang dikodekan. Pengodean tertentu diwakili oleh jenis yang berasal dari Encoding kelas . Secara khusus, karakter dikodekan ke urutan byte dengan memanggil metode jenis Encoding.GetBytes pengodean, dan urutan byte didekodekan ke array karakter atau string dengan memanggil Encoding.GetChars metode atau Encoding.GetString .

Operasi decoding dapat gagal jika urutan byte input tidak dapat dipetakan oleh pengodean. Misalnya, ASCIIEncoding objek tidak dapat mendekode urutan byte jika urutan tersebut mewakili karakter yang memiliki nilai titik kode yang berada di luar rentang U+0000 hingga U+007F.

Ketika konversi decoding tidak dapat dilakukan, .NET Framework menyediakan mekanisme penanganan kegagalan yang disebut fallback. Aplikasi Anda dapat menggunakan fallback dekoder .NET Framework yang telah ditentukan sebelumnya, atau dapat membuat fallback decoder kustom yang berasal dari DecoderFallback kelas dan DecoderFallbackBuffer .

DecoderFallbackdan DecoderFallbackBuffer merupakan kelas dasar untuk semua penangan fallback decoding di .NET Framework. Mereka mendukung tiga jenis mekanisme penanganan fallback berikut:

  • Fallback paling pas, yang memetakan karakter Unicode valid yang tidak dapat didekodekan ke perkiraan yang setara. Misalnya, handler fallback yang paling cocok untuk ASCIIEncoding kelas mungkin memetakan Æ (U+00C6) ke AE (U+0041 + U+0045). Penangan fallback paling cocok mungkin juga diimplementasikan untuk menerjemahkan satu alfabet (seperti Sirilik) ke alfabet lain (seperti Latin atau Romawi). .NET Framework tidak menyediakan implementasi fallback yang paling sesuai untuk publik.

  • Penggantian fallback, yang menggantikan setiap karakter yang tidak dapat didekodekan dengan string yang telah ditentukan sebelumnya. .NET Framework menyediakan penangan fallback pengganti yang telah ditentukan sebelumnya. Kelas DecoderReplacementFallback menggantikan setiap urutan byte yang tidak dapat didekodekan dengan karakter tanda tanya ("?", atau U+003F) atau REPLACEMENT CHARACTER (U+FFFD). Anda dapat menyesuaikan string pengganti dengan menentukan pengganti dalam panggilan ke DecoderReplacementFallback.DecoderReplacementFallback(String) konstruktor. Setelah string pengganti dipancarkan, operasi pendekodean terus mengonversi sisa input.

  • Fallback pengecualian, yang melemparkan pengecualian ketika urutan byte tidak dapat didekodekan. .NET Framework menyediakan penanganan fallback pengecualian yang telah ditentukan sebelumnya. Kelas DecoderExceptionFallback melempar DecoderFallbackException ketika urutan byte yang tidak valid ditemui, dan operasi pendekodean berakhir.

Jika Anda memilih untuk menerapkan solusi kustom, Anda harus mengganti anggota DecoderFallback abstrak kelas berikut:

  • Metode CreateFallbackBuffer , yang mengembalikan instans kelas yang berasal dari DecoderFallbackBuffer. Tergantung pada jenis penanganan fallback yang Anda kembangkan, DecoderFallbackBuffer implementasi bertanggung jawab untuk melakukan pemetaan atau penggantian, atau untuk melemparkan pengecualian.

  • Properti MaxCharCount , yang mengembalikan jumlah maksimum karakter yang dapat dikembalikan oleh implementasi fallback. Untuk penanganan fallback pengecualian, nilainya harus nol.

Untuk informasi selengkapnya tentang strategi pengodean, pendekodean, dan fallback, lihat Pengodean Karakter di .NET Framework.

Konstruktor

DecoderFallback()

Menginisialisasi instans baru kelas DecoderFallback.

Properti

ExceptionFallback

Mendapatkan objek yang melempar pengecualian ketika urutan byte input tidak dapat didekodekan.

MaxCharCount

Ketika ditimpa di kelas turunan, mendapatkan jumlah maksimum karakter yang dapat dikembalikan objek saat ini DecoderFallback .

ReplacementFallback

Mendapatkan objek yang menghasilkan string pengganti sebagai pengganti urutan byte input yang tidak dapat didekodekan.

Metode

CreateFallbackBuffer()

Saat ditimpa di kelas turunan, menginisialisasi instans DecoderFallbackBuffer baru kelas.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga