Encoding.RegisterProvider(EncodingProvider) Encoding.RegisterProvider(EncodingProvider) Encoding.RegisterProvider(EncodingProvider) Encoding.RegisterProvider(EncodingProvider) Method

Определение

Регистрирует поставщик кодировки.Registers an encoding provider.

public:
 static void RegisterProvider(System::Text::EncodingProvider ^ provider);
[System.Security.SecurityCritical]
public static void RegisterProvider (System.Text.EncodingProvider provider);
static member RegisterProvider : System.Text.EncodingProvider -> unit
Public Shared Sub RegisterProvider (provider As EncodingProvider)

Параметры

provider
EncodingProvider EncodingProvider EncodingProvider EncodingProvider

Подкласс класса EncodingProvider, который предоставляет доступ к дополнительным кодировкам символов.A subclass of EncodingProvider that provides access to additional character encodings.

Исключения

Комментарии

RegisterProvider Метод позволяет зарегистрировать класс, производный от EncodingProvider что делает кодировки доступные на платформе, в противном случае их не поддерживает.The RegisterProvider method allows you to register a class derived from EncodingProvider that makes character encodings available on a platform that does not otherwise support them. Зарегистрированный поставщик кодировки, кодировки, которые он поддерживает можно получить путем вызова любого Encoding.GetEncoding перегрузки.Once the encoding provider is registered, the encodings that it supports can be retrieved by calling any Encoding.GetEncoding overload. При наличии нескольких поставщиков кодирования, Encoding.GetEncoding метод пытается извлечь с заданной кодировкой от каждого поставщика, начиная с наиболее недавно зарегистрированный.If there are multiple encoding providers, the Encoding.GetEncoding method attempts to retrieve a specified encoding from each provider starting with the one most recently registered.

Регистрация поставщика кодировки с помощью RegisterProvider метод также изменяет поведение Encoding.GetEncoding(Int32) и EncodingProvider.GetEncoding (Int32, EncoderFallback, DecoderFallback ) методы при передаче аргумента 0:Registering an encoding provider by using the RegisterProvider method also modifies the behavior of the Encoding.GetEncoding(Int32) and EncodingProvider.GetEncoding(Int32, EncoderFallback, DecoderFallback) methods when passed an argument of 0:

  • Если зарегистрированный поставщик CodePagesEncodingProvider, метод возвращает кодировку, соответствующую активную кодовую страницу системы при работе в операционной системе Windows.If the registered provider is the CodePagesEncodingProvider, the method returns the encoding that matches the system active code page when running on the Windows operating system.

  • Пользовательский поставщик кодировки можно выбрать, какую кодировку, возвращаемое, если любой из этих GetEncoding перегрузок метода передается аргумент 0.A custom encoding provider can choose which encoding to return when either of these GetEncoding method overloads is passed an argument of 0. Поставщик можно также возвращает кодировку, задав EncodingProvider.GetEncoding возвращаемого значения метода null.The provider can also choose to not return an encoding by having the EncodingProvider.GetEncoding method return null.

Начиная с .NET Framework 4.6, .NET Framework включает один поставщик кодировки, CodePagesEncodingProvider, это делает доступные кодировки, которые присутствуют в полной версии платформы .NET Framework, но не доступны в универсальной платформы Windows.Starting with the .NET Framework 4.6, the .NET Framework includes one encoding provider, CodePagesEncodingProvider, that makes the encodings available that are present in the full .NET Framework but are not available in the Universal Windows Platform. По умолчанию универсальная платформа Windows поддерживает только кодировки Юникод, ASCII и кодовой страницы 28591.By default, the Universal Windows Platform only supports the Unicode encodings, ASCII, and code page 28591.

Если один и тот же поставщик кодировки используется в нескольких вызовах RegisterProvider поставщик регистрирует метод, только первый вызов метода.If the same encoding provider is used in multiple calls to the RegisterProvider method, only the first method call registers the provider. Последующие вызовы учитываются.Subsequent calls are ignored.

Если RegisterProvider метод вызывается для регистрации нескольких поставщиков, которые обрабатывают ту же кодировку, последний зарегистрированный поставщик используется для всех операциях кодирования и декодирования.If the RegisterProvider method is called to register multiple providers that handle the same encoding, the last registered provider is the used for all encoding and decoding operations. Все ранее зарегистрированных поставщиков учитываются.Any previously registered providers are ignored.

Применяется к

Дополнительно