EncoderFallback Sınıf

Tanım

Kodlanmış bir çıkış bayt dizisine dönüştürülemeyen bir giriş karakteri için geri dönüş olarak adlandırılan bir hata işleme mekanizması sağlar.

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

Giriş karakteri kodlamayla temsil edilemiyorsa bir kodlama işlemi başarısız olabilir. Örneğin, bir ASCIIEncoding nesne Unicode kod noktası değeri U+0000 aralığının dışında olan bir karakteri U+007F olarak kodlayamaz.

Kodlama 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 kodlayıcı geri dönüşlerini kullanabilir veya ve EncoderFallbackBuffer sınıflarından EncoderFallback türetilen özel bir kodlayıcı geri dönüşü oluşturabilir.

EncoderFallbackve EncoderFallbackBuffer .NET Framework tüm kodlama 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:

  • Yaklaşık eşdeğere kodlanamayan geçerli Unicode karakterlerini 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 genel en uygun geri dönüş uygulaması sağlamaz.

  • Önceden tanımlanmış bir dizeyle kodlanamayan her karakterin yerini alan değiştirme geri dönüşü. .NET Framework önceden tanımlanmış bir değiştirme geri dönüş işleyicisi sağlar. EncoderReplacementFallback sınıfı, 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şturucuya yapılan çağrıda bir yedek belirterek değiştirme dizesini EncoderReplacementFallback.EncoderReplacementFallback(String) özelleştirebilirsiniz. Yedek dize yayıldıktan sonra kodlama işlemi girişin geri kalanını dönüştürmeye devam eder.

  • Bir karakter kodlanamadığında özel durum oluşturan özel durum geri dönüşü. .NET Framework önceden tanımlanmış bir özel durum geri dönüş işleyicisi sağlar. EncoderExceptionFallback Geçersiz bir karakterle karşılaşıldığında sınıfı bir EncoderFallbackException oluşturur ve kodlama işlemi sonlandırılır.

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

  • CreateFallbackBuffer yöntemi, öğesinden EncoderFallbackBuffertü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, EncoderFallbackBuffer uygulama eşlemeyi veya değiştirme işlemini gerçekleştirmekten veya özel durum oluşturmaktan sorumludur.

  • Özelliği MaxCharCount , geri dönüş uygulamasının döndürebileceği en fazla karakter sayısını döndürür. Bir ö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

EncoderFallback()

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

Özellikler

ExceptionFallback

Giriş karakteri kodlanamadığında özel durum oluşturan bir nesne alır.

MaxCharCount

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

ReplacementFallback

Kodlanamayan bir giriş karakteri yerine bir yedek dize çıkışı 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 EncoderFallbackBuffer 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.