Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, 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-8-Quellpuffers.
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
Parameter
- source
- ReadOnlySpan<Byte>
Eine schreibgeschützte UTF-8-codierte Bytespanne.
- result
- Rune
Die decodierte Rune bei Rückgabe dieser Methode.
- bytesConsumed
- Int32
Die Anzahl von Bytes, die bei der Erstellung der Rune gelesen werden, wenn diese Methode zurückgegeben wird.
Gibt zurück
Done, wenn der Quellpuffer mit einem gültigen, UTF-8-codierten Skalarwert beginnt. result
enthält dann die decodierte Rune-Eigenschaft und bytesConsumed
die Anzahl an Byte-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-8-Ersatzzeichen enthält. result
enthält dann ReplacementChar und bytesConsumed
enthält die Länge des Eingabepuffers.
InvalidData, wenn der Quellpuffer mit einem falsch formatierten, UTF-8-codierten Skalarwert beginnt. result
enthält dann ReplacementChar und bytesConsumed
enthält die Anzahl von Byte-Werten, die im Eingabepuffer zum Codieren der falsch formatierten Sequenz verwendet werden.
.
Hinweise
Die allgemeine Konvention besteht darin, diese Methode in einer Schleife aufzurufen, die den source
Puffer nach bytesConsumed
Elementen in jeder Iteration der Schleife slicing. Enthält bei jeder Iteration der Schleife result
den echten Skalarwert, wenn er erfolgreich dekodiert wurde oder Rune.ReplacementChar enthält, ob die Daten nicht erfolgreich entschlüsselt werden konnten. Dieses Muster bietet eine bequeme automatische U+FFFD-Substitution von ungültigen Sequenzen während der Iterierung durch die Schleife.