CharsetEncoder 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다.
[Android.Runtime.Register("java/nio/charset/CharsetEncoder", DoNotGenerateAcw=true)]
public abstract class CharsetEncoder : Java.Lang.Object
[<Android.Runtime.Register("java/nio/charset/CharsetEncoder", DoNotGenerateAcw=true)>]
type CharsetEncoder = class
inherit Object
- 상속
- 특성
설명
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다.
"steps">
입력 문자 시퀀스는 문자 버퍼 또는 일련의 이러한 버퍼에 제공됩니다. 출력 바이트 시퀀스는 바이트 버퍼 또는 일련의 이러한 버퍼에 기록됩니다. 인코더는 인 코딩 작업이라고 하는 다음과 같은 메서드 호출 시퀀스를 만들어 항상 사용해야 합니다.
<Ol>
<리튬>
이전에 사용되지 않은 경우 메서드를 #reset reset
통해 인코더를 다시 설정합니다.
</리튬>
<리튬>
추가 입력을 #encode encode
사용할 수 있는 한 메서드를 0번 이상 호출하여 인수를 endOfInput
전달 false
하고 입력 버퍼를 채우고 호출 간에 출력 버퍼를 플러시합니다.
</리튬>
<리튬>
메서드를 #encode encode
마지막으로 한 번 호출하고 인수를 endOfInput
전달 true
한 다음
</리튬>
<리튬>
인코더가 #flush flush
출력 버퍼에 내부 상태를 플러시할 수 있도록 메서드를 호출합니다.
</리튬>
</Ol>
메서드의 #encode encode
각 호출은 입력 버퍼에서 가능한 한 많은 문자를 인코딩하여 결과 바이트를 출력 버퍼에 기록합니다. 메서드는 #encode encode
더 많은 입력이 필요하거나 출력 버퍼에 공간이 부족하거나 인코딩 오류가 발생한 경우 를 반환합니다. 각각의 경우 CoderResult
종료 이유를 설명하기 위해 개체가 반환됩니다. 호출자는 이 개체를 검사하고 입력 버퍼를 채우거나, 출력 버퍼를 플러시하거나, 인코딩 오류에서 적절하게 복구를 시도한 후 다시 시도할 수 있습니다.
"ce">
인코딩 오류에는 두 가지 일반적인 유형이 있습니다. 입력 문자 시퀀스가 유효한 16비트 유니코드 시퀀스가 아닌 경우 입력은 잘못된 형식으로 간주됩니다. 입력 문자 시퀀스가 유효하지만 지정된 문자 집합의 유효한 바이트 시퀀스에 매핑할 수 없는 경우 적용할 수 없는 문자 가 발견되었습니다.
"cae">
인코딩 오류가 처리되는 방법은 클래스의 instance CodingErrorAction
설명된 해당 유형의 오류에 대해 요청된 작업에 따라 달라집니다. 가능한 오류 작업은 CodingErrorAction#IGNORE가 잘못된 입력을 무시하거나, CodingErrorAction#REPORT가 반환 CoderResult
된 개체를 통해 호출자에게 오류를 보고하거나, CodingErrorAction#REPLACE가 잘못된 입력을 대체 바이트 배열의 현재 값으로 바꾸는 것입니다. 대체 항목
는 처음에 인코더의 기본 대체로 설정되며, 종종(항상 그렇지는 않지만) nbsp{
에&초기 값이 있습니다. (byte)'?'
}
;
해당 값은 메서드를 #replaceWith(byte[]) replaceWith
통해 변경될 수 있습니다.
잘못된 형식의 입력 및 unmappable-character 오류에 대한 기본 동작은 CodingErrorAction#REPORT에서 보고하는 것입니다. 형식이 잘못된 입력 오류 동작은 메서드를 #onMalformedInput(CodingErrorAction) onMalformedInput
통해 변경될 수 있습니다. 메서드를 통해 #onUnmappableCharacter(CodingErrorAction) onUnmappableCharacter
변경할 수 없는 문자 동작이 변경될 수 있습니다.
이 클래스는 오류 동작의 구현을 포함하여 인코딩 프로세스의 많은 세부 정보를 처리하도록 설계되었습니다. 이 클래스의 구체적인 하위 클래스인 특정 문자 집합에 대한 인코더는 기본 인코딩 루프를 캡슐화하는 추상 #encodeLoop encodeLoop
메서드만 구현하면 됩니다. 또한 내부 상태를 유지하는 서브클래스는 및 #implReset implReset
메서드를 재정의 #implFlush implFlush
해야 합니다.
이 클래스의 인스턴스는 여러 동시 스레드에서 사용하기에 안전하지 않습니다.
1.4에 추가되었습니다.
에 대한 Java 설명서입니다 java.nio.charset.CharsetEncoder
.
이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.
생성자
CharsetEncoder(Charset, Single, Single) |
새 인코더를 초기화합니다. |
CharsetEncoder(Charset, Single, Single, Byte[]) |
새 인코더를 초기화합니다. |
CharsetEncoder(IntPtr, JniHandleOwnership) |
JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
속성
Class |
이 |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 Object) |
JniIdentityHashCode |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
JniPeerMembers |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. |
PeerReference |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. |
메서드
AverageBytesPerChar() |
입력의 각 문자에 대해 생성되는 평균 바이트 수를 반환합니다. |
CanEncode(Char) |
이 인코더가 지정된 문자를 인코딩할 수 있는지 여부를 알려줍니다. |
CanEncode(ICharSequence) |
이 인코더가 지정된 문자 시퀀스를 인코딩할 수 있는지 여부를 알려줍니다. |
CanEncode(String) |
이 인코더가 지정된 문자 시퀀스를 인코딩할 수 있는지 여부를 알려줍니다. |
Charset() |
이 인코더를 만든 문자 집합을 반환합니다. |
Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Object) |
Dispose() |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
Dispose(Boolean) |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
Encode(CharBuffer) |
단일 입력 문자 버퍼의 나머지 콘텐츠를 새로 할당된 바이트 버퍼로 인코딩하는 편의 메서드입니다. |
Encode(CharBuffer, ByteBuffer, Boolean) |
지정된 입력 버퍼에서 가능한 한 많은 문자를 인코딩하여 결과를 지정된 출력 버퍼에 기록합니다. |
EncodeLoop(CharBuffer, ByteBuffer) |
하나 이상의 문자를 하나 이상의 바이트로 인코딩합니다. |
Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
Flush(ByteBuffer) |
이 인코더를 플러시합니다. |
GetHashCode() |
개체의 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
ImplFlush(ByteBuffer) |
이 인코더를 플러시합니다. |
ImplOnMalformedInput(CodingErrorAction) |
이 인코더의 잘못된 형식 입력 동작에 대한 변경 내용 보고 |
ImplOnUnmappableCharacter(CodingErrorAction) |
이 인코더의 unmappable-character 작업에 대한 변경 내용 보고 |
ImplReplaceWith(Byte[]) |
이 인코더의 대체 값에 대한 변경 내용을 보고합니다. |
ImplReset() |
이 인코더를 다시 설정하여 문자 집합 관련 내부 상태를 지웁니다. |
IsLegalReplacement(Byte[]) |
지정된 바이트 배열이 이 인코더에 대한 법적 대체 값인지 여부를 알려줍니다. |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
MalformedInputAction() |
잘못된 형식의 입력 오류에 대한 이 인코더의 현재 작업을 반환합니다. |
MaxBytesPerChar() |
입력의 각 문자에 대해 생성되는 최대 바이트 수를 반환합니다. |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
OnMalformedInput(CodingErrorAction) |
잘못된 형식의 입력 오류에 대해 이 인코더의 작업을 변경합니다. |
OnUnmappableCharacter(CodingErrorAction) |
적용할 수 없는 문자 오류에 대해 이 인코더의 동작을 변경합니다. |
Replacement() |
이 인코더의 대체 값을 반환합니다. |
ReplaceWith(Byte[]) |
이 인코더의 대체 값을 변경합니다. |
Reset() |
이 인코더를 다시 설정하여 내부 상태를 지웁니다. |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
ToArray<T>() |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
UnmappableCharacterAction() |
unmappable-character 오류에 대한 이 인코더의 현재 동작을 반환합니다. |
UnregisterFromRuntime() |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
Wait() |
현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
IJavaPeerable.Disposed() |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
IJavaPeerable.Finalized() |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
IJavaPeerable.JniManagedPeerState |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. (다음에서 상속됨 Object) |
확장 메서드
JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
JavaCast<TResult>(IJavaObject) |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. |
GetJniTypeName(IJavaPeerable) |
16비트 유니코드 문자 시퀀스를 특정 문자 집합의 바이트 시퀀스로 변환할 수 있는 엔진입니다. |