Rune.DecodeLastFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Метод

Определение

Декодирует Rune в конце предоставленного исходного буфера UTF-8.Decodes the Rune at the end of the provided UTF-8 source buffer.

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 только для чтения.A read-only UTF-8 encoded byte span.

value
Rune

При возврате методом — расшифрованная руна.When this method returns, the decoded rune.

bytesConsumed
Int32

Количество байтов, считанных для создания руны, при возврате управления методом.When this method returns, the number of bytes read to create the rune.

Возвраты

Значение Done, если исходный буфер кончается допустимым скалярным значением в кодировке UTF-8.Done if the source buffer ends with a valid UTF-8 encoded scalar value. result затем содержит декодированный Rune, и bytesConsumed содержит количество значений Byte, используемых во входном буфере для кодирования Rune.result then contains the decoded Rune, and bytesConsumed contains the number of Byte values used in the input buffer to encode the Rune.

Значение NeedMoreData, если исходный буфер пуст или содержит только автономный верхний суррогатный символ UTF-8.NeedMoreData if the source buffer is empty or contains only a standalone UTF-8 high surrogate character. result затем содержит ReplacementChar, и bytesConsumed содержит длину входного буфера.result then contains ReplacementChar, and bytesConsumed contains the length of the input buffer.

Значение InvalidData, если исходный буфер кончается неправильно сформированным скалярным значением в кодировке UTF-8.InvalidData if the source buffer ends with an ill-formed UTF-8 encoded scalar value. result затем содержит ReplacementChar, и bytesConsumed содержит количество значений Byte, используемых во входном буфере для кодирования неправильной последовательности.result then contains ReplacementChar, and bytesConsumed contains the number of Byte values used in the input buffer to encode the ill-formed sequence. ..

Комментарии

Этот метод очень похож на DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32), за исключением того, что он позволяет вызывающему объекту перебрать назад, а не вперед.This method is very similar to DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32), except it allows the caller to loop backward instead of forward. Типичное соглашение о вызовах заключается в том, что при каждой итерации цикла вызывающий объект должен отрезать последние элементы bytesConsumed в буфере source.The typical calling convention is that on each iteration of the loop, the caller should slice off the final bytesConsumed elements of the source buffer.

Применяется к