다음을 통해 공유


Utf8.ToUtf16 메서드

정의

UTF-8로 인코딩된 읽기 전용 바이트 범위를 UTF-16으로 인코딩된 문자 범위로 변환합니다.

public static System.Buffers.OperationStatus ToUtf16 (ReadOnlySpan<byte> source, Span<char> destination, out int bytesRead, out int charsWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true);
static member ToUtf16 : ReadOnlySpan<byte> * Span<char> * int * int * bool * bool -> System.Buffers.OperationStatus
Public Shared Function ToUtf16 (source As ReadOnlySpan(Of Byte), destination As Span(Of Char), ByRef bytesRead As Integer, ByRef charsWritten As Integer, Optional replaceInvalidSequences As Boolean = true, Optional isFinalBlock As Boolean = true) As OperationStatus

매개 변수

source
ReadOnlySpan<Byte>

UTF-8로 인코딩된 읽기 전용 바이트 범위입니다.

destination
Span<Char>

UTF-16으로 인코딩된 문자 범위입니다.

bytesRead
Int32

메서드가 반환될 때 source에서 읽은 바이트 수입니다.

charsWritten
Int32

메서드가 반환될 때 destination에 기록된 문자 수입니다.

replaceInvalidSequences
Boolean

source의 잘못된 UTF-8 시퀀스를 U+FFFD로 바꾸려면 true이고, source에서 잘못된 문자가 발견된 경우 InvalidData를 반환하려면 false입니다.

isFinalBlock
Boolean

메서드가 NeedMoreData를 반환하지 않아야 하는 경우 true이고, 그렇지 않으면 false입니다.

반환

OperationStatus

변환의 상태를 나타내는 값입니다.

설명

이 메서드는 다른 호출 규칙, 다른 오류 처리 메커니즘 및 다른 성능 특성이 있다는 점을 제외하고 UTF8Encoding.GetChars 메서드에 해당합니다.

'replaceInvalidSequences'인 경우 메서드는 true잘못된 형식의 하위 시퀀스를 source U+FFFD destination 로 바꾸고 버퍼의 나머지 부분을 계속 처리합니다. 그렇지 않으면 잘못된 형식의 시퀀스가 발견되면 메서드가 반환 OperationStatus.InvalidData 됩니다.

메서드가 오류 코드를 반환하는 경우 out 매개 변수는 성공적으로 트랜스코딩된 데이터의 양을 나타내며 잘못된 형식의 하위 시퀀스의 위치를 이러한 값에서 추론할 수 있습니다.

'replaceInvalidSequences' true이면 메서드가 반환 OperationStatus.InvalidData되지 않습니다. 'isFinalBlock'이 true면 메서드가 반환 OperationStatus.NeedMoreData되지 않습니다.

적용 대상