Bagikan melalui


DecoderFallbackBuffer Kelas

Definisi

Menyediakan buffer yang memungkinkan penanganan fallback mengembalikan string alternatif ke dekoder ketika tidak dapat mendekode urutan byte input.

public ref class DecoderFallbackBuffer abstract
public abstract class DecoderFallbackBuffer
type DecoderFallbackBuffer = class
Public MustInherit Class DecoderFallbackBuffer
Warisan
DecoderFallbackBuffer
Turunan

Keterangan

Pengodean mendefinisikan pemetaan antara karakter Unicode dan urutan byte yang dikodekan. Operasi decoding, yang mengonversi urutan byte input menjadi karakter output, gagal jika tidak ada pemetaan yang didefinisikan untuk urutan byte tertentu.

.NET Framework menyediakan mekanisme penanganan kegagalan, yang disebut fallback, jika konversi tidak dapat dilakukan. Semua penangan fallback decoder harus menerapkan hal berikut:

  • Fallback decoder, yang diwakili oleh kelas yang berasal dari DecoderFallback kelas .

  • Buffer fallback decoder, yang diwakili oleh jenis yang berasal dari DecoderFallbackBuffer kelas yang dapat mengembalikan string ke operasi konversi.

Fallback dapat menggunakan tiga strategi untuk menangani kegagalan konversi:

  • Pemetaan yang paling sesuai. Buffer fallback decoder dapat mengembalikan string yang mewakili perkiraan dekat dengan urutan byte input. .NET Framework tidak menyediakan implementasi yang paling sesuai untuk DecoderFallbackBuffer publik.

  • Pengganti. Buffer fallback decoder dapat mengembalikan string, seperti tanda tanya ("?"), yang menunjukkan bahwa urutan byte tidak dapat didekodekan. Dalam .NET Framework, DecoderReplacementFallback kelas dan DecoderReplacementFallbackBuffer menyediakan implementasi buffer fallback pengganti publik. Konstruktor DecoderReplacementFallback kelas memungkinkan Anda menentukan string pengganti.

  • Pengecualian. Implementasi DecoderFallbackBuffer melempar pengecualian, yang menunjukkan bahwa urutan byte tidak dapat didekodekan, dan mengakhiri operasi decoding. Dalam hal ini, penangan fallback harus memberikan DecoderFallbackBuffer implementasi, meskipun tidak mengembalikan string ke dekoder. Dalam .NET Framework, DecoderExceptionFallback kelas dan DecoderExceptionFallbackBuffer menyediakan implementasi fallback pengecualian publik yang melemparkan DecoderFallbackException ketika urutan byte tidak dapat didekodekan.

Buffer dalam DecoderFallbackBuffer implementasi mewakili seluruh string yang akan dikembalikan ke decoder sebagai respons terhadap fallback decoder. Umumnya, implementasi juga mencakup informasi status, seperti indeks karakter berikutnya untuk kembali ke dekoder dan jumlah karakter yang tersisa yang akan dikembalikan. Karena DecoderFallbackBuffer merupakan kelas abstrak, diperlukan kelas turunan untuk mengimplementasikan anggota berikut minimal:

  • Metode Fallback , yang dipanggil oleh dekoder ketika tidak dapat mendekode urutan byte. Decoder meneruskan dua informasi ke implementasi buffer fallback: array yang berisi byte yang tidak dapat didekodekan dan indeks byte pertama dalam array byte input. Dalam handler pengecualian fallback decoder, pengecualian dilemparkan dalam metode ini. Jika tidak, metode mengembalikan true jika menyediakan fallback, atau false jika tidak.

  • Metode GetNextChar , yang dipanggil berulang kali oleh dekoder jika Fallback metode mengembalikan true. Dalam panggilan berturut-turut, handler harus mengembalikan setiap karakter dalam buffer-nya. Ketika telah mengembalikan semua karakter, itu harus mengembalikan U+0000. Handler fallback pengecualian selalu mengembalikan U+0000.

  • Metode MovePrevious , yang mencoba memindahkan penunjuk ke posisi sebelumnya di buffer dan menunjukkan apakah pemindahan berhasil. Handler pengecualian selalu mengembalikan false.

  • Properti Remaining , yang menunjukkan jumlah karakter yang tersisa yang akan dikembalikan ke dekoder. Handler fallback pengecualian selalu mengembalikan nol.

Konstruktor

Nama Deskripsi
DecoderFallbackBuffer()

Menginisialisasi instans baru dari kelas DecoderFallbackBuffer.

Properti

Nama Deskripsi
Remaining

Ketika ditimpa dalam kelas turunan, mendapatkan jumlah karakter dalam objek saat ini DecoderFallbackBuffer yang tetap harus diproses.

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Fallback(Byte[], Int32)

Ketika ditimpa di kelas turunan, menyiapkan buffer fallback untuk menangani urutan byte input yang ditentukan.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetNextChar()

Ketika ditimpa di kelas turunan, mengambil karakter berikutnya dalam buffer fallback.

GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
MovePrevious()

Ketika ditimpa di kelas turunan, menyebabkan panggilan berikutnya ke GetNextChar() metode untuk mengakses posisi karakter buffer data yang sebelum posisi karakter saat ini.

Reset()

Menginisialisasi semua data dan informasi status yang berkaitan dengan buffer fallback ini.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga