Rune.DecodeLastFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在提供的 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)非常相似,只不过它允许调用方向后循环而不是向前循环。 典型的调用约定是,在循环的每次迭代中,调用方应切掉缓冲区的最后 bytesConsumed
元素 source
。