EncoderFallbackBuffer 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
입력 문자를 인코드를 할 수 없을 경우 fallback 처리기가 인코더로 대체 문자열을 반환할 수 있는 버퍼를 제공합니다.
public ref class EncoderFallbackBuffer abstract
public abstract class EncoderFallbackBuffer
type EncoderFallbackBuffer = class
Public MustInherit Class EncoderFallbackBuffer
- 상속
-
EncoderFallbackBuffer
- 파생
설명
인코딩은 유니코드 문자와 인코딩된 바이트 시퀀스 간의 매핑을 정의합니다. 입력 문자를 출력 바이트 시퀀스로 변환하는 인코딩 작업은 특정 문자에 대해 매핑이 정의되지 않은 경우 실패합니다.
.NET Framework 변환을 수행할 수 없는 경우 대체라는 오류 처리 메커니즘을 제공합니다. 모든 인코더 대체 처리기는 다음을 구현해야 합니다.
클래스에서 EncoderFallback 파생된 클래스로 표현되는 인코더 대체입니다.
변환 작업에 문자열을 반환할 수 있는 클래스에서 EncoderFallbackBuffer 파생된 형식으로 표현되는 인코더 대체 버퍼입니다.
대체는 세 가지 전략을 사용하여 변환 실패를 처리할 수 있습니다.
가장 적합한 매핑입니다. 인코더 대체 버퍼는 입력 문자에 가까운 근사치를 나타내는 문자열을 반환할 수 있습니다. .NET Framework 공용에 가장 적합한 EncoderFallbackBuffer 구현을 제공하지 않습니다.
대체 기능 인코더 대체 버퍼는 문자를 인코딩할 수 없음을 나타내는 물음표("?")와 같은 문자열을 반환할 수 있습니다. .NET Framework EncoderReplacementFallback 및 EncoderReplacementFallbackBuffer 클래스는 공용 대체 대체 버퍼 구현을 제공합니다. 클래스의 EncoderReplacementFallback 생성자를 사용하면 대체 문자열을 정의할 수 있습니다.
예외. 구현은 EncoderFallbackBuffer 문자를 인코딩할 수 없음을 나타내는 예외를 throw하고 인코딩 작업을 종료합니다. 이 경우 대체 처리기는 인코더에 문자열을 EncoderFallbackBuffer 반환하지 않지만 구현을 제공해야 합니다. .NET Framework EncoderExceptionFallback 및 EncoderExceptionFallbackBuffer 클래스는 문자를 인코딩할 수 없는 경우 를 EncoderFallbackException throw하는 공용 예외 대체 구현을 제공합니다.
구현의 EncoderFallbackBuffer 버퍼는 인코더 대체에 대한 응답으로 인코더에 반환될 전체 문자열을 나타냅니다. 일반적으로 구현에는 인코더로 반환할 다음 문자의 인덱스 및 반환할 나머지 문자 수와 같은 상태 정보도 포함됩니다. EncoderFallbackBuffer 는 추상 클래스이므로 파생 클래스가 최소한 다음 멤버를 구현해야 합니다.
인코더가 문자를 인코딩할 수 없을 때 호출되는 오버로드된 Fallback 메서드입니다. 인코더는 인코딩할 수 없는 문자 또는 서로게이트 쌍과 입력에 있는 문자의 인덱스라는 두 가지 정보를 대체 버퍼 구현에 전달합니다. 인코더 대체 예외 처리기에서 예외는 이 메서드에서 throw됩니다. 그렇지 않으면 메서드가 대체를 제공하는 경우 또는
false
그렇지 않은 경우 를 반환true
합니다.메서드가 GetNextChar 를 반환
true
하는 경우 인코더에서 반복적으로 호출되는 Fallback 메서드입니다. 연속 호출에서 처리기는 버퍼의 각 문자를 반환해야 합니다. 모든 문자를 반환하면 U+0000을 반환해야 합니다. 예외 처리기는 항상 U+0000을 반환합니다.MovePrevious 버퍼의 이전 위치로 포인터를 이동하려고 시도하고 이동이 성공했는지 여부를 나타내는 메서드입니다. 예외 처리기는 항상 를 반환합니다
false
.Remaining 인코더로 반환할 나머지 문자 수를 나타내는 속성입니다. 예외 대체 처리기는 항상 0을 반환합니다.
생성자
EncoderFallbackBuffer() |
EncoderFallbackBuffer 클래스의 새 인스턴스를 초기화합니다. |
속성
Remaining |
파생 클래스에서 재정의될 때 처리되기 위해 남아 있는 현재 EncoderFallbackBuffer 개체의 문자 수를 가져옵니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Fallback(Char, Char, Int32) |
파생 클래스에서 재정의될 때 지정된 서로게이트 쌍을 처리하도록 대체 버퍼를 준비합니다. |
Fallback(Char, Int32) |
파생 클래스에서 재정의될 때 지정된 입력 문자를 처리하도록 대체 버퍼를 준비합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetNextChar() |
파생 클래스에서 재정의될 때 대체 버퍼에서 다음 문자를 검색합니다. |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MovePrevious() |
파생 클래스에서 재정의될 때 GetNextChar() 메서드에 대한 다음 호출에서 데이터 버퍼의 현재 문자 위치 이전의 문자 위치에 액세스하도록 합니다. |
Reset() |
이 대체 버퍼와 관련된 모든 데이터 및 상태 정보를 초기화합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
추가 정보
.NET