CharsetEncoder.Encode 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| 속성 | Description |
|---|---|
| Encode(CharBuffer) |
단일 입력 문자 버퍼의 나머지 콘텐츠를 새로 할당된 바이트 버퍼로 인코딩하는 편리한 메서드입니다. |
| Encode(CharBuffer, ByteBuffer, Boolean) |
지정된 입력 버퍼에서 가능한 한 많은 문자를 인코딩하여 결과를 지정된 출력 버퍼에 기록합니다. |
Encode(CharBuffer)
단일 입력 문자 버퍼의 나머지 콘텐츠를 새로 할당된 바이트 버퍼로 인코딩하는 편리한 메서드입니다.
[Android.Runtime.Register("encode", "(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;", "")]
public Java.Nio.ByteBuffer? Encode(Java.Nio.CharBuffer? in);
[<Android.Runtime.Register("encode", "(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;", "")>]
member this.Encode : Java.Nio.CharBuffer -> Java.Nio.ByteBuffer
매개 변수
- in
- CharBuffer
입력 문자 버퍼
반품
인코딩 작업의 결과를 포함하는 새로 할당된 바이트 버퍼입니다. 버퍼의 위치는 0이고 해당 제한은 기록된 마지막 바이트를 따릅니다.
- 특성
예외
다른 인코딩 작업이 진행 중인 경우
이 문자 집합에 대한 잘못된 입력 문자 시퀀스가 발생하고 잘못된 형식의 오류에 대한 작업이 발생하는 경우 Report
이 문자 집합에 대해 적법하지만 적용할 수 없는 입력 문자 시퀀스가 발견되고 적용할 수 없는 문자 오류 Report에 대한 작업이 있는 경우 . 적용할 수 없음은 입력 버퍼의 현재 위치에 있는 유니코드 문자 시퀀스를 동등한 바이트 시퀀스에 매핑할 수 없음을 의미합니다.
인코딩 작업 중에 다른 예외가 발생한 경우
설명
단일 입력 문자 버퍼의 나머지 콘텐츠를 새로 할당된 바이트 버퍼로 인코딩하는 편리한 메서드입니다.
이 메서드는 전체 인코딩 작업을 구현합니다. 즉, 이 인코더를 다시 설정한 다음 지정된 문자 버퍼의 문자를 인코딩하고 마지막으로 이 인코더를 플러시합니다. 따라서 인코딩 작업이 이미 진행 중인 경우 이 메서드를 호출하지 않아야 합니다.
에 대한 java.nio.charset.CharsetEncoder.encode(java.nio.CharBuffer)Java 설명서
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.
적용 대상
Encode(CharBuffer, ByteBuffer, Boolean)
지정된 입력 버퍼에서 가능한 한 많은 문자를 인코딩하여 결과를 지정된 출력 버퍼에 기록합니다.
[Android.Runtime.Register("encode", "(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;", "")]
public Java.Nio.Charset.CoderResult? Encode(Java.Nio.CharBuffer? in, Java.Nio.ByteBuffer? out, bool endOfInput);
[<Android.Runtime.Register("encode", "(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;", "")>]
member this.Encode : Java.Nio.CharBuffer * Java.Nio.ByteBuffer * bool -> Java.Nio.Charset.CoderResult
매개 변수
- in
- CharBuffer
입력 문자 버퍼
- out
- ByteBuffer
출력 바이트 버퍼
- endOfInput
- Boolean
true 호출자가 지정된 버퍼에 있는 입력 문자 이외의 추가 입력 문자를 제공할 수 없는 경우에만
반품
종료 이유를 설명하는 코더 결과 개체
- 특성
예외
인코딩 작업이 이미 시작되었거나 이 인코딩 프로세스에 더 이상 입력이 필요하지 않은 경우
메서드가 EncodeLoop(CharBuffer, ByteBuffer) throw된 BufferUnderflowException 경우 또는 BufferUnderflowException.
설명
지정된 입력 버퍼에서 가능한 한 많은 문자를 인코딩하여 결과를 지정된 출력 버퍼에 기록합니다.
버퍼는 현재 위치에서 시작하여 읽고 기록합니다. 최대 Buffer#remaining in.remaining() 문자가 읽혀지고 최대 Buffer#remaining out.remaining() 바이트가 기록됩니다. 버퍼의 위치는 읽은 문자와 쓴 바이트를 반영하도록 진행되지만 해당 표시 및 제한은 수정되지 않습니다.
이 메서드는 입력 버퍼에서 문자를 읽고 출력 버퍼에 바이트를 쓰는 것 외에도 종료 이유를 설명하는 개체를 반환 CoderResult 합니다.
<ul>
<li>
CoderResult#UNDERFLOW 는 가능한 한 많은 입력 버퍼가 인코딩되었음을 나타냅니다. 추가 입력이 없으면 호출자는 인코딩 작업의 다음 단계로 진행할 수 있습니다. 그렇지 않으면 추가 입력을 사용하여 이 메서드를 다시 호출해야 합니다.
</li>
<li>
CoderResult#OVERFLOW 는 출력 버퍼에 더 이상 문자를 인코딩할 공간이 충분하지 않음을 나타냅니다. 이 메서드는 버퍼#남은 남은 바이트가 더 많은 출력 버퍼를 사용하여 다시 호출해야 합니다. 이 작업은 일반적으로 출력 버퍼에서 인코딩된 바이트를 드레이닝하여 수행됩니다.
</li>
<li>
CoderResult#malformedForLength 잘못된 형식의 입력 결과는 잘못된 형식의 입력 오류가 감지되었음을 나타냅니다. 형식이 잘못된 문자는 입력 버퍼의(증가될 수 있음) 위치에서 시작합니다. 형식이 잘못된 문자의 수는 결과 개체의 CoderResult#length() length 메서드를 호출하여 확인할 수 있습니다. 이 경우는 이 인코더 CodingErrorAction#REPORT의 #onMalformedInput 잘못된 형식의 작업이 있는 경우에만 적용됩니다. 그렇지 않으면 잘못된 형식의 입력이 요청된 대로 무시되거나 바뀝니다.
</li>
<li>
CoderResult#unmappableForLength unmappable-character 결과는 적용할 수 없는 문자 오류가 검색되었음을 나타냅니다. 적용할 수 없는 문자를 인코딩하는 문자는 입력 버퍼의(증가될 수 있음) 위치에서 시작합니다. 이러한 문자의 수는 결과 개체의 CoderResult#length() length 메서드를 호출하여 확인할 수 있습니다. 이 경우는 이 인코더 CodingErrorAction#REPORT의 #onUnmappableCharacter 적용할 수 없는 동작인 경우에만 적용됩니다. 그렇지 않으면 요청된 대로 적용할 수 없는 문자가 무시되거나 바뀝니다.
</li>
</ul>
어쨌든 이 메서드를 동일한 인코딩 작업에서 다시 호출하는 경우 입력 버퍼에 남아 있는 문자를 유지하여 다음 호출에 사용할 수 있도록 주의해야 합니다.
매개 변수는 endOfInput 호출자가 지정된 입력 버퍼에 포함된 것 이상으로 추가 입력을 제공할 수 있는지 여부를 이 메서드에 조언합니다. 추가 입력을 제공할 가능성이 있는 경우 호출자는 이 매개 변수를 전달 false 해야 합니다. 추가 입력을 제공할 가능성이 없으면 호출자가 전달 true되어야 합니다. 그것은 잘못되지 않습니다, 그리고 사실 그것은 매우 일반적이다, 하나의 호출을 전달 false 하고 나중에 더 이상 입력이 실제로 사용할 수 없다는 것을 발견. 그러나 일련의 호출에서 이 메서드의 최종 호출은 항상 전달 true 되어 나머지 인코딩되지 않은 입력이 잘못된 형식으로 처리되도록 하는 것이 중요합니다.
이 메서드는 메서드를 호출하고 #encodeLoop encodeLoop , 결과를 해석하고, 오류 조건을 처리하고, 필요에 따라 다시 호출하여 작동합니다.
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.