Aracılığıyla paylaş


DecoderFallback Sınıf

Tanım

Çıkış karakterine dönüştürülemeyen kodlanmış bir giriş bayt dizisi için geri dönüş olarak adlandırılan bir hata işleme mekanizması sağlar.

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
Devralma
DecoderFallback
Türetilmiş
Öznitelikler

Açıklamalar

Kodlama, Unicode karakterini kodlanmış bayt dizisiyle eşler. Belirli bir kodlama, sınıfından türetilen Encoding bir türle temsil edilir. Özellikle, bir karakter kodlama türünün Encoding.GetBytes yöntemini çağırarak bir bayt dizisine kodlanır ve bayt dizisinin kodu veya yöntemi çağrılarak bir karakter dizisine veya dizeye Encoding.GetCharsEncoding.GetString kodlanır.

Giriş bayt dizisi kodlamayla eşlenemediğinde bir kod çözme işlemi başarısız olabilir. Örneğin, bu ASCIIEncoding sıra U+0000 ile U+007F aralığındaki bir kod noktası değerine sahip bir karakteri temsil ederse, bir nesne bayt dizisinin kodunu çözemez.

Kod çözme dönüştürmesi gerçekleştirilemediğinde, .NET Framework geri dönüş adı verilen bir hata işleme mekanizması sağlar. Uygulamanız önceden tanımlanmış .NET Framework kod çözücü geri dönüşlerini kullanabilir veya ve DecoderFallbackBuffer sınıflarından DecoderFallback türetilen özel bir kod çözücü geri dönüşü oluşturabilir.

DecoderFallbackve DecoderFallbackBuffer .NET Framework tüm kod çözme geri dönüş işleyicileri için temel sınıflardır. Aşağıdaki üç tür geri dönüş işleme mekanizmasını destekler:

  • Kodu çözülemeyen geçerli Unicode karakterleri yaklaşık eşdeğerle eşleyen en uygun geri dönüş. Örneğin, sınıfı için ASCIIEncoding en uygun geri dönüş işleyicisi Æ (U+00C6) ile AE (U+0041 + U+0045) eşlenebilir. Bir alfabeyi (Kiril gibi) başka bir alfabeye (Latin veya Roma gibi) çevirmek için en uygun geri dönüş işleyicisi de uygulanabilir. .NET Framework herhangi bir genel en uygun geri dönüş uygulaması sağlamaz.

  • Kodu çözülemeyen her karakteri önceden tanımlanmış bir dizeyle değiştiren yedek geri dönüş. .NET Framework önceden tanımlanmış bir değiştirme geri dönüş işleyicisi sağlar. sınıfı, DecoderReplacementFallback kodu çözülemeyen her bayt sırasını bir soru işareti karakteriyle ("?" veya U+003F) ya da DEĞİşTİrME KARAKTERİ (U+FFFD) ile değiştirir. Oluşturucu çağrısında bir alternatif belirterek değiştirme dizesini DecoderReplacementFallback.DecoderReplacementFallback(String) özelleştirebilirsiniz. Yedek dize gönderildikten sonra kod çözme işlemi girişin geri kalanını dönüştürmeye devam eder.

  • Bayt dizisinin kodu çözülemediğinde bir özel durum oluşturan özel durum geri dönüşü. .NET Framework önceden tanımlanmış bir özel durum geri dönüş işleyicisi sağlar. DecoderExceptionFallback Geçersiz bir bayt dizisiyle karşılaşıldığında ve kod çözme işlemi sonlandırıldığında sınıfı bir DecoderFallbackException oluşturur.

Özel bir çözüm uygulamayı seçerseniz, sınıfın aşağıdaki soyut üyelerini DecoderFallback geçersiz kılmanız gerekir:

  • CreateFallbackBuffer yöntemi, öğesinden DecoderFallbackBuffertüretilmiş bir sınıf örneği döndürür. Geliştirmekte olduğunuz geri dönüş işleyicisinin türüne bağlı olarak, DecoderFallbackBuffer uygulama eşlemeyi veya değiştirme işlemini gerçekleştirmek ya da özel durum oluşturmaktan sorumludur.

  • MaxCharCount Geri dönüş uygulamasının döndürebileceği en fazla karakter sayısını döndüren özelliği. Özel durum geri dönüş işleyicisi için değeri sıfır olmalıdır.

Kodlama, kod çözme ve geri dönüş stratejileri hakkında daha fazla bilgi için bkz. .NET Framework Karakter Kodlama.

Oluşturucular

DecoderFallback()

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

Özellikler

ExceptionFallback

Giriş bayt dizisinin kodu çözülemediğinde özel durum oluşturan bir nesne alır.

MaxCharCount

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli DecoderFallback nesnenin döndürebileceği en fazla karakter sayısını alır.

ReplacementFallback

Kodu çözülemeyen bir giriş bayt dizisi yerine bir yedek dize veren bir nesne alır.

Yöntemler

CreateFallbackBuffer()

Türetilmiş bir sınıfta geçersiz kılındığında, sınıfının yeni bir örneğini DecoderFallbackBuffer başlatır.

Equals(Object)

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

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

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

(Devralındığı yer: Object)
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)
ToString()

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

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.