Bagikan melalui


EncoderFallback Kelas

Definisi

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

public ref class EncoderFallback abstract
public abstract class EncoderFallback
[System.Serializable]
public abstract class EncoderFallback
type EncoderFallback = class
[<System.Serializable>]
type EncoderFallback = class
Public MustInherit Class EncoderFallback
Warisan
EncoderFallback
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 pengodean dapat gagal jika karakter input tidak dapat diwakili oleh pengodean. Misalnya, ASCIIEncoding objek tidak dapat mengodekan karakter yang nilai titik kode Unicode-nya berada di luar rentang U+0000 hingga U+007F.

Ketika konversi pengodean tidak dapat dilakukan, .NET Framework menyediakan mekanisme penanganan kegagalan yang disebut fallback. Aplikasi Anda dapat menggunakan fallback encoder .NET Framework yang telah ditentukan sebelumnya, atau dapat membuat fallback encoder kustom yang berasal dari EncoderFallback kelas dan EncoderFallbackBuffer .

EncoderFallback dan EncoderFallbackBuffer adalah kelas dasar untuk semua penangan fallback pengodean di .NET Framework. Mereka mendukung tiga jenis mekanisme penanganan fallback berikut:

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

  • Penggantian fallback, yang menggantikan setiap karakter yang tidak dapat dikodekan dengan string yang telah ditentukan sebelumnya. .NET Framework menyediakan penangan fallback pengganti yang telah ditentukan sebelumnya. Kelas EncoderReplacementFallback 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 EncoderReplacementFallback.EncoderReplacementFallback(String) konstruktor. Setelah string pengganti dipancarkan, operasi pengodean terus mengonversi sisa input.

  • Fallback pengecualian, yang melemparkan pengecualian ketika karakter tidak dapat dikodekan. .NET Framework menyediakan penanganan fallback pengecualian yang telah ditentukan sebelumnya. Kelas EncoderExceptionFallback melemparkan EncoderFallbackException ketika karakter yang tidak valid ditemui, dan operasi pengodean berakhir.

Jika Anda memilih untuk menerapkan solusi kustom, Anda harus mengambil alih anggota EncoderFallback abstrak kelas berikut:

  • Metode CreateFallbackBuffer , yang mengembalikan instans kelas yang berasal dari EncoderFallbackBuffer. Tergantung pada jenis penangan fallback yang Anda kembangkan, EncoderFallbackBuffer 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 handler fallback pengecualian, nilainya harus nol.

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

Konstruktor

Nama Deskripsi
EncoderFallback()

Menginisialisasi instans baru dari kelas EncoderFallback.

Properti

Nama Deskripsi
ExceptionFallback

Mendapatkan objek yang melemparkan pengecualian ketika karakter input tidak dapat dikodekan.

MaxCharCount

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

ReplacementFallback

Mendapatkan objek yang menghasilkan string pengganti sebagai pengganti karakter input yang tidak dapat dikodekan.

Metode

Nama Deskripsi
CreateFallbackBuffer()

Saat ditimpa di kelas turunan, menginisialisasi instans EncoderFallbackBuffer 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 Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga