Sdílet prostřednictvím


Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Metoda

Definice

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

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

Parametry

source
ReadOnlySpan<Char>

Rozsah znaků UTF-16 jen pro čtení.

result
Rune

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

charsConsumed
Int32

Když tato metoda vrátí, počet znaků 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-16. result pak obsahuje dekódované Runea charsConsumed obsahuje počet Char 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-16 high náhradní znak. result obsahuje ReplacementChara charsConsumed obsahuje délku vstupní vyrovnávací paměti.

InvalidData pokud zdrojová vyrovnávací paměť začíná špatně vytvořenou skalární hodnotou UTF-16. resultpak obsahuje a charsConsumed obsahuje ReplacementCharpočet Char hodnot použitých k 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 charsConsumed prvků pro každou iteraci smyčky. Při každé iteraci smyčky obsahuje skutečnou skalární hodnotu, result pokud byla data úspěšně dekódována, nebo obsahuje Rune.ReplacementChar , pokud data nebyla úspěšně dekódována. Tento model poskytuje pohodlné automatické nahrazení neplatných sekvencí U+FFFD při iteraci smyčky.

Platí pro