Rune.DecodeLastFromUtf16(ReadOnlySpan<Char>, Rune, Int32) 方法

定义

在提供的 UTF-16 源缓冲区结尾处解码 Rune

public:
 static System::Buffers::OperationStatus DecodeLastFromUtf16(ReadOnlySpan<char> source, [Runtime::InteropServices::Out] System::Text::Rune % result, [Runtime::InteropServices::Out] int % charsConsumed);
public static System.Buffers.OperationStatus DecodeLastFromUtf16 (ReadOnlySpan<char> source, out System.Text.Rune result, out int charsConsumed);
static member DecodeLastFromUtf16 : ReadOnlySpan<char> * Rune * int -> System.Buffers.OperationStatus
Public Shared Function DecodeLastFromUtf16 (source As ReadOnlySpan(Of Char), ByRef result As Rune, ByRef charsConsumed As Integer) As OperationStatus

参数

source
ReadOnlySpan<Char>

只读 UTF-16 编码字符范围。

result
Rune

此方法返回时,已解码的 rune。

charsConsumed
Int32

此方法返回时,为创建 rune 而读取的字节数。

返回

OperationStatus

如果源缓冲区以有效的 UTF-16 编码标量值开头,则 Done。 然后 result 包含解码的 RunecharsConsumed 包含用于在输入缓冲区中解码 RuneChar 值的数目。

如果源缓冲区为空,或仅包含独立的 UTF-16 高代理项字符,则 NeedMoreData。 然后 result 包含 ReplacementCharcharsConsumed 包含输入缓冲区的长度。

如果源缓冲区以格式错误的 UTF-16 编码标量值开头,则 InvalidData。 然后 result 包含 ReplacementCharcharsConsumed 包含用于解码格式错误的序列的 Char 值的数目。 .

注解

此方法与此方法非常相似 DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32),只不过它允许调用方向后循环而不是向前循环。 典型的调用约定是,在循环的每个迭代中,调用方应将缓冲区的最终 charsConsumed 元素 source 切片。

适用于