Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Decodiert den Rune Anfang des bereitgestellten UTF-16-Quellpuffers.
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
Parameter
- source
- ReadOnlySpan<Char>
Eine schreibgeschützte UTF-16-Zeichenspanne.
- result
- Rune
Wenn diese Methode zurückgegeben wird, wird der decodierte Rune zurückgegeben.
- charsConsumed
- Int32
Wenn diese Methode zurückgegeben wird, wird die Anzahl der zeichen gelesen, um den Runen zu erstellen.
Gibt zurück
Done wenn der Quellpuffer mit einem gültigen UTF-16-codierten Skalarwert beginnt.
resultenthält dann die decodierte , und charsConsumed enthält die Anzahl der Char Werte, die im Eingabepuffer zum Codieren der Rune.Rune
NeedMoreData wenn der Quellpuffer leer ist oder nur ein eigenständiges UTF-16-Zeichen mit hohem Ersatzzeichen enthält.
result enthält ReplacementChardann die Länge des Eingabepuffers und charsConsumed enthält sie.
InvalidData wenn der Quellpuffer mit einem unformierten UTF-16-codierten Skalarwert beginnt.
resultenthält ReplacementCharcharsConsumed dann die Anzahl der Werte, die zum Codieren der Char unformierten Sequenz verwendet werden.
.
Hinweise
Die allgemeine Konvention besteht darin, diese Methode in einer Schleife aufzurufen und den source Puffer nach charsConsumed Elementen in jeder Iteration der Schleife zu slicieren. Enthält bei jeder Iteration der Schleife den tatsächlichen Skalarwert, result wenn die Daten erfolgreich decodiert wurden oder enthält Rune.ReplacementChar , ob die Daten nicht erfolgreich decodiert wurden. Dieses Muster bietet eine bequeme automatische U+FFFD-Ersetzung ungültiger Sequenzen beim Durchlaufen der Schleife.