Encoding.RegisterProvider(EncodingProvider) 메서드

정의

인코딩 공급자를 등록합니다.Registers an encoding provider.

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

매개 변수

provider
EncodingProvider

추가 문자 인코딩에 대한 액세스를 제공하는 EncodingProvider의 하위 클래스입니다.A subclass of EncodingProvider that provides access to additional character encodings.

특성

예외

provider이(가) null인 경우provider is null.

설명

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 (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 .NET Framework 4.6, .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.

적용 대상

추가 정보