EncodingProvider Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет базовый класс для поставщика кодирования, который предоставляет кодировки, недоступные на определенной платформе.
public ref class EncodingProvider abstract
public abstract class EncodingProvider
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class EncodingProvider
type EncodingProvider = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type EncodingProvider = class
Public MustInherit Class EncodingProvider
- Наследование
-
EncodingProvider
- Производный
- Атрибуты
Комментарии
Поставщик кодирования предоставляет кодировки, которые в противном случае недоступны на определенной целевой платформе.
Платформа .NET Framework поддерживает большое количество кодировок символов и кодовых страниц. Полный список кодировок, доступных в .NET Framework, можно получить, вызвав Encoding.GetEncodings метод. .NET Core, с другой стороны, по умолчанию поддерживает только следующие кодировки:
ASCII (кодовая страница 20127), возвращаемая свойством Encoding.ASCII .
ISO-8859-1 (кодовая страница 28591).
UTF-7 (кодовая страница 65000), возвращаемая свойством Encoding.UTF7 .
UTF-8 (кодовая страница 65001), возвращаемая свойством Encoding.UTF8 .
UTF-16 и UTF-16LE (кодовая страница 1200), возвращаемая свойством Unicode .
UTF-16BE (кодовая страница 1201), которая создается путем вызова UnicodeEncoding.UnicodeEncoding(Boolean, Boolean) или конструктора со значением
bigEndiantrue.UnicodeEncoding.UnicodeEncoding(Boolean, Boolean)UTF-32 и UTF-32LE (кодовая страница 12000), возвращаемая свойством Encoding.UTF32 .
UTF-32BE (кодовая страница 12001), которая создается путем вызова UTF32Encoding конструктора с параметром
bigEndianи предоставления значенияtrueв вызове метода.
Начиная с .NET Framework 4.6, EncodingProvider является базовым классом, который делает иначе недоступные кодировки, доступные для .NET Framework. Для этого необходимо выполнить следующие шаги.
Определите подкласс EncodingProvider , который переопределяет две абстрактные GetEncoding перегрузки и GetEncoding(Int32)GetEncoding(String). Эти перегрузки возвращают иначе неподдерживаемую кодировку по идентификатору кодовой страницы и по имени. Обратите внимание, что можно также вернуть кодировку по умолчанию, если GetEncoding(Int32) метод вызывается с аргументом 0.
При необходимости можно переопределить виртуальные GetEncoding(Int32, EncoderFallback, DecoderFallback) и GetEncoding(String, EncoderFallback, DecoderFallback) методы. В большинстве случаев это не обязательно, так как базовый класс предоставляет реализацию по умолчанию.
EncodingProvider Передайте экземпляр Encoding.RegisterProvider в метод, чтобы сделать кодировки, предоставляемые EncodingProvider объектом, доступными для среды CLR.
Вызов перегрузки Encoding.GetEncoding для получения кодировки. Метод Encoding.GetEncoding вызовет соответствующий EncodingProvider.GetEncoding метод, чтобы определить, может ли он предоставить запрошенную кодировку.
Библиотека классов .NET Framework предоставляет одно статическое свойство, которое возвращает EncodingProvider объект, CodePagesEncodingProvider.Instanceкоторый делает полный набор кодировок доступным в классической библиотеке классов .NET Framework, доступной для приложений .NET Core. Кроме того, можно наследовать от EncodingProvider класса, чтобы сделать собственные кодировки доступными.
Конструкторы
| Имя | Описание |
|---|---|
| EncodingProvider() |
Инициализирует новый экземпляр класса EncodingProvider. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetEncoding(Int32, EncoderFallback, DecoderFallback) |
Возвращает кодировку, связанную с указанным идентификатором кодовой страницы. Параметры указывают обработчик ошибок для символов, которые не могут быть закодированы и байтовые последовательности, которые не могут быть декодированы. |
| GetEncoding(Int32) |
Возвращает кодировку, связанную с указанным идентификатором кодовой страницы. |
| GetEncoding(String, EncoderFallback, DecoderFallback) |
Возвращает кодировку, связанную с указанным именем. Параметры указывают обработчик ошибок для символов, которые не могут быть закодированы и байтовые последовательности, которые не могут быть декодированы. |
| GetEncoding(String) |
Возвращает кодировку с указанным именем. |
| GetEncodings() |
Возвращает массив, содержащий все кодировки, поддерживаемые этим элементом EncodingProvider. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |