Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Metoda

Definice

Dekóduje Rune na začátku poskytnuté zdrojové vyrovnávací paměti UTF-8.

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

Parametry

source
ReadOnlySpan<Byte>

Bajtový rozsah kódování UTF-8 jen pro čtení.

result
Rune

Když tato metoda vrátí dekódovaný rune.

bytesConsumed
Int32

Když tato metoda vrátí, počet bajtů přečtených k vytvoření rune.

Návraty

Done pokud zdrojová vyrovnávací paměť začíná platnou skalární hodnotou kódování UTF-8. result pak obsahuje dekódovaný Runea bytesConsumed obsahuje počet Byte hodnot použitých ve vstupní vyrovnávací paměti pro kódování Rune.

NeedMoreData pokud je zdrojová vyrovnávací paměť prázdná nebo obsahuje pouze samostatný znak UTF-8 s vysokou náhradou. result obsahuje ReplacementChara bytesConsumed obsahuje délku vstupní vyrovnávací paměti.

InvalidData pokud zdrojová vyrovnávací paměť začíná špatně formátovanou skalární hodnotou UTF-8. result pak obsahuje ReplacementChara bytesConsumed obsahuje počet Byte hodnot použitých ve vstupní vyrovnávací paměti ke kódování špatně vytvořené sekvence. .

Poznámky

Obecná konvence je volat tuto metodu ve smyčce a vytvořit řez source vyrovnávací paměti podle bytesConsumed prvků pro každou iteraci smyčky. Při každé iteraci smyčky result obsahuje skutečnou skalární hodnotu, pokud byla úspěšně dekódována, nebo obsahuje Rune.ReplacementChar , pokud data nemohla být úspěšně dekódována. Tento model poskytuje pohodlné automatické nahrazení neplatných sekvencí U+FFFD při iterování smyčkou.

Platí pro