다음을 통해 공유


Rune.DecodeLastFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) 메서드

정의

제공된 UTF-8 소스 버퍼의 끝 부분에서 Rune을 디코딩합니다.

public:
 static System::Buffers::OperationStatus DecodeLastFromUtf8(ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] System::Text::Rune % value, [Runtime::InteropServices::Out] int % bytesConsumed);
public static System.Buffers.OperationStatus DecodeLastFromUtf8 (ReadOnlySpan<byte> source, out System.Text.Rune value, out int bytesConsumed);
static member DecodeLastFromUtf8 : ReadOnlySpan<byte> * Rune * int -> System.Buffers.OperationStatus
Public Shared Function DecodeLastFromUtf8 (source As ReadOnlySpan(Of Byte), ByRef value As Rune, ByRef bytesConsumed As Integer) As OperationStatus

매개 변수

source
ReadOnlySpan<Byte>

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

value
Rune

메서드가 반환되면 디코딩된 rune입니다.

bytesConsumed
Int32

메서드가 반환될 때 rune을 만들기 위해 읽은 바이트 수입니다.

반환

소스 버퍼가 올바른 UTF-8 인코딩 스칼라 값으로 끝나는 경우 Done입니다. 그러면 result에 디코딩된 Rune이 포함되고 bytesConsumed에는 Rune을 인코딩하기 위해 입력 버퍼에서 사용한 Byte 값의 수가 포함됩니다.

소스 버퍼가 비어 있거나 독립형 UTF-8 상위 서로게이트 문자가 포함되어 있으면 NeedMoreData입니다. 그러면 result에는 ReplacementChar이 포함되고 bytesConsumed에는 입력 버퍼의 길이가 포함됩니다.

소스 버퍼가 형식이 잘못된 UTF-8 인코딩 스칼라 값으로 끝나는 경우 InvalidData입니다. 그러면 result에는 ReplacementChar이 포함되고 bytesConsumed에는 형식이 잘못된 시퀀스를 인코딩하기 위해 입력 버퍼에서 사용한 Byte 값의 수가 포함되어 있습니다.

설명

이 메서드는 호출자가 앞으로 이동하지 않고 뒤로 반복할 수 있다는 점을 제외하고 과 매우 유사 DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32)합니다. 일반적인 호출 규칙은 루프의 각 반복에서 호출자가 버퍼의 source 최종 bytesConsumed 요소를 조각화해야 한다는 것입니다.

적용 대상