DecoderFallbackBuffer Sınıf

Tanım

Geri dönüş işleyicinin bir giriş bayt dizisinin kodunu çözemediğinde kod çözücüye alternatif bir dize döndürmesine olanak tanıyan bir arabellek sağlar.

public ref class DecoderFallbackBuffer abstract
public abstract class DecoderFallbackBuffer
type DecoderFallbackBuffer = class
Public MustInherit Class DecoderFallbackBuffer
Devralma
DecoderFallbackBuffer
Türetilmiş

Açıklamalar

Kodlama, Unicode karakteriyle kodlanmış bayt dizisi arasındaki eşlemeyi tanımlar. Giriş bayt dizisini çıkış karakterine dönüştüren bir kod çözme işlemi, belirli bir bayt dizisi için hiçbir eşleme tanımlanmadıysa başarısız olur.

.NET Framework, dönüştürme gerçekleştirilemiyorsa geri dönüş olarak adlandırılan bir hata işleme mekanizması sağlar. Tüm kod çözücü geri dönüş işleyicileri aşağıdakileri uygulamalıdır:

  • Sınıfından türetilmiş DecoderFallback bir sınıf tarafından temsil edilen bir kod çözücü geri dönüşü.

  • Dönüştürme işlemine dize döndürebilen sınıfından DecoderFallbackBuffer türetilmiş bir türle temsil edilen bir kod çözücü geri dönüş arabelleği.

Geri dönüşler, dönüştürme hatalarını işlemek için üç strateji kullanabilir:

  • En uygun eşleme. Kod çözücü geri dönüş arabelleği, giriş bayt dizisine yakın bir yaklaşık değeri temsil eden bir dize döndürebilir. .NET Framework genel en uygun DecoderFallbackBuffer uygulama sağlamaz.

  • Yedek. Kod çözücü geri dönüş arabelleği, bayt dizisinin kodunun çözülemediğini gösteren soru işareti ("?") gibi bir dize döndürebilir. .NET Framework ve DecoderReplacementFallbackBuffer sınıfları genel DecoderReplacementFallback değiştirme geri dönüş arabelleği uygulaması sağlar. sınıfının oluşturucu, DecoderReplacementFallback değiştirme dizesini tanımlamanızı sağlar.

  • Özel durum. Uygulama DecoderFallbackBuffer , bayt dizisinin kodunun çözülemeyeceğini belirten bir özel durum oluşturur ve kod çözme işlemini sonlandırır. Bu durumda, geri dönüş işleyicisi kod çözücüye bir dize döndürmese de bir DecoderFallbackBuffer uygulama sağlamalıdır. .NET Framework ve DecoderExceptionFallbackBuffer sınıfları, DecoderExceptionFallback bayt dizisinin kodu çözülemediğinde bir DecoderFallbackException oluşturan genel bir özel durum geri dönüş uygulaması sağlar.

Uygulamadaki DecoderFallbackBuffer arabellek, kod çözücü geri dönüşüne yanıt olarak kod çözücüye döndürülecek dizenin tamamını temsil eder. Genellikle uygulamalar, kod çözücüye döndürülecek bir sonraki karakterin dizini ve döndürülecek kalan karakter sayısı gibi durum bilgilerini de içerir. DecoderFallbackBuffer Soyut bir sınıf olduğundan, en azından aşağıdaki üyeleri uygulamak için türetilmiş sınıflar gerektirir:

  • Bir Fallback bayt dizisinin kodunu çözemediğinde kod çözücü tarafından çağrılan yöntemi. Kod çözücü geri dönüş arabelleği uygulamasına iki bilgi parçası geçirir: kodu çözülemeyen baytları içeren bir dizi ve giriş bayt dizisindeki ilk bayt dizini. Kod çözücü geri dönüş özel durum işleyicisinde özel durum bu yöntemde oluşturulur. Aksi takdirde, yöntem bir geri dönüş sağlarsa veya false sağlamazsa döndürürtrue.

  • GetNextChar yöntemi döndürürse truekod çözücü tarafından tekrar tekrar çağrılan Fallback yöntemi. Ardışık çağrılarda işleyici, arabellekteki her karakteri döndürmelidir. Tüm karakterleri döndürdüyse U+0000 döndürmelidir. Özel durum geri dönüş işleyicisi her zaman U+0000 döndürür.

  • MovePrevious İşaretçiyi arabellekte önceki konuma taşımaya çalışan ve taşımanın başarılı olup olmadığını belirten yöntemi. Özel durum işleyicisi her zaman döndürür false.

  • Remaining Kod çözücüye döndürülecek kalan karakterlerin sayısını gösteren özelliği. Özel durum geri dönüş işleyicisi her zaman sıfır döndürür.

Oluşturucular

DecoderFallbackBuffer()

DecoderFallbackBuffer sınıfının yeni bir örneğini başlatır.

Özellikler

Remaining

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli DecoderFallbackBuffer nesnede işlenecek kalan karakter sayısını alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Fallback(Byte[], Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen giriş bayt sırasını işlemek için geri dönüş arabelleği hazırlar.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetNextChar()

Türetilmiş bir sınıfta geçersiz kılındığında, geri dönüş arabelleğindeki sonraki karakteri alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MovePrevious()

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli karakter konumundan GetNextChar() önceki veri arabelleği karakter konumuna erişmek için yöntemine bir sonraki çağrıya neden olur.

Reset()

Bu geri dönüş arabelleğiyle ilgili tüm verileri ve durum bilgilerini başlatır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.