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