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 bayt dizisine kodlanır ve bayt dizisi veya Encoding.GetString yöntemi çağrılarak bir karakter dizisine veya dizeye Encoding.GetChars kodlanır.

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

Bir kod çözme dönüştürmesi gerçekleştirilemediğinde, .NET Framework geri dönüş olarak adlandırılan 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.

DecoderFallback ve DecoderFallbackBuffer .NET Framework'teki 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 karakterlerini yaklaşık eşdeğere 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 Romen 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 yedek 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) veya DEĞİşTİrME KARAKTERİ (U+FFFD) ile değiştirir. Oluşturucu çağrısında bir yedek belirterek değiştirme dizesini DecoderReplacementFallback.DecoderReplacementFallback(String) özelleştirebilirsiniz. Yedek dize yayıldıktan sonra kod çözme işlemi girişin geri kalanını dönüştürmeye devam eder.

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

Ö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üretilen 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ştirmekten veya özel durum oluşturmaktan sorumludur.

  • Geri MaxCharCount 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'te Karakter Kodlama.

Oluşturucular

Name Description
DecoderFallback()

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

Özellikler

Name Description
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 çıkaran bir nesne alır.

Yöntemler

Name Description
CreateFallbackBuffer()

Türetilmiş bir sınıfta geçersiz kılındığında, sınıfı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()

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

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

Geçerli Objectbasit bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.