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 den Rune 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
Wenn diese Methode zurückgegeben wird, wird der decodierte Rune zurückgegeben.
- bytesConsumed
- Int32
Wenn diese Methode zurückgegeben wird, wird die Anzahl der gelesenen Bytes zum Erstellen des Runens zurückgegeben.
Gibt zurück
Done wenn der Quellpuffer mit einem gültigen UTF-8-codierten Skalarwert beginnt.
resultenthält dann die decodierte , und bytesConsumed enthält die Anzahl der Byte Werte, die im Eingabepuffer zum Codieren der Rune.Rune
NeedMoreData wenn der Quellpuffer leer ist oder nur ein eigenständiges UTF-8-Hoch-Ersatzzeichen enthält.
result enthält ReplacementChardann die Länge des Eingabepuffers und bytesConsumed enthält sie.
InvalidData wenn der Quellpuffer mit einem unformierten UTF-8-codierten Skalarwert beginnt.
result enthält ReplacementChardann die bytesConsumed Anzahl der Byte Werte, die im Eingabepuffer zum Codieren der unformierten Sequenz verwendet werden.
.
Hinweise
Die allgemeine Konvention besteht darin, diese Methode in einer Schleife aufzurufen und den source Puffer nach bytesConsumed Elementen in jeder Iteration der Schleife zu slicieren. Enthält bei jeder Iteration der Schleife den tatsächlichen Skalarwert, result wenn er erfolgreich decodiert wurde, oder enthält Rune.ReplacementChar ihn, wenn die Daten nicht erfolgreich decodiert werden konnten. Dieses Muster bietet eine bequeme automatische U+FFFD-Ersetzung ungültiger Sequenzen beim Durchlaufen der Schleife.