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>

Rozsah bajtu 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

OperationStatus

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 high náhradní znak. result obsahuje ReplacementChara bytesConsumed obsahuje délku vstupní vyrovnávací paměti.

InvalidData pokud zdrojová vyrovnávací paměť začíná špatně vytvořenou skalární hodnotou UTF-8. resultpak obsahuje a bytesConsumed obsahuje ReplacementCharpočet Byte hodnot použitých ve vstupní vyrovnávací paměti pro kódování špatně vytvořené sekvence. .

Poznámky

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

Platí pro