Rune.DecodeLastFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Декодирует Rune в конце предоставленного исходного буфера UTF-8.
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
Когда этот метод возвращается, декодированные руна.
- bytesConsumed
- Int32
При возврате этого метода число байтов, считываемых для создания руна.
Возвращаемое значение
Done Значение , если исходный буфер заканчивается допустимым скалярным значением в кодировке UTF-8.
value затем содержит декодированный Runeи bytesConsumed содержит количество значений, используемых Byte в входном буфере для кодирования Rune.
NeedMoreData Значение , если исходный буфер пуст или содержит только автономный символ UTF-8 с высоким суррогатным символом.
value затем содержит ReplacementCharи bytesConsumed содержит длину входного буфера.
InvalidData Значение , если исходный буфер заканчивается неоформленным скалярным значением UTF-8.
value затем содержит ReplacementCharи bytesConsumed содержит количество значений, используемых Byte в входном буфере для кодирования неправильно сформированной последовательности.
Комментарии
Этот метод очень похож DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32)на , за исключением того, что вызывающий объект может циклировать назад, а не вперед. Обычное соглашение о вызове заключается в том, что при каждой итерации цикла вызывающий объект должен срезать конечные bytesConsumed элементы буфера source .