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 das Rune-Element am 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
Die decodierte Rune bei Rückgabe dieser Methode.
- charsConsumed
- Int32
Die Anzahl der zur Erstellung der Rune gelesenen Zeichen bei Rückgabe dieser Methode.
Gibt zurück
Done, wenn der Quellpuffer mit einem gültigen, UTF-16-codierten Skalarwert beginnt.
result
enthält dann die decodierte Rune-Eigenschaft und charsConsumed
die Anzahl an Char-Werten, die in dem Eingabepuffer zur Codierung der Rune-Struktur verwendet wird.
NeedMoreData, wenn der Quellpuffer leer ist oder nur ein eigenständiges hohe UTF-16-Ersatzzeichen enthält.
result
enthält dann ReplacementChar und charsConsumed
enthält die Länge des Eingabepuffers.
InvalidData, wenn der Quellpuffer mit einem falsch formatierten, UTF-16-codierten Skalarwert beginnt.
result
enthält dann ReplacementChar und charsConsumed
enthält die Anzahl von Char-Werten, die zum Codieren der falsch formatierten Sequenz verwendet werden.
.
Hinweise
Die allgemeine Konvention besteht darin, diese Methode in einer Schleife aufzurufen und den source
Puffer nach charsConsumed
Elementen für jede Iteration der Schleife zu schneiden. Enthält bei jeder Iteration der Schleife den echten skalaren Wert, result
wenn die Daten erfolgreich decodiert wurden, oder enthält, Rune.ReplacementChar wenn die Daten nicht erfolgreich decodiert wurden. Dieses Muster ermöglicht eine bequeme automatische U+FFFD-Ersetzung ungültiger Sequenzen beim Durchlaufen der Schleife.