Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Decodifica l'oggetto Rune all'inizio del buffer di origine UTF-8 specificato.
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
Parametri
- source
- ReadOnlySpan<Byte>
Intervallo di byte con codifica UTF-8 di sola lettura.
- result
- Rune
Al termine del metodo, la runa decodificata.
- bytesConsumed
- Int32
Al termine del metodo, il numero di byte letti per creare la runa.
Restituisce
Done se il buffer di origine inizia con un valore scalare con codifica UTF-8 valido. result
contiene quindi il valore Rune decodificato e bytesConsumed
contiene il numero di valori Byte usati nel buffer di input per codificare Rune.
NeedMoreData se il buffer di origine è vuoto o contiene solo un carattere surrogato alto UTF-8 autonomo. result
contiene quindi ReplacementChar e bytesConsumed
contiene la lunghezza del buffer di input.
InvalidData se il buffer di origine inizia con un valore scalare con codifica UTF-8 in formato non valido. result
contiene quindi ReplacementChar e bytesConsumed
contiene il numero di valori Byte usati nel buffer di input per codificare la sequenza in formato non valido.
.
Commenti
La convenzione generale consiste nel chiamare questo metodo in un ciclo, slicing del source
buffer in base agli bytesConsumed
elementi in ogni iterazione del ciclo. In ogni iterazione del ciclo contiene result
il valore scalare reale se decodificato correttamente o contiene Rune.ReplacementChar se i dati non possono essere decodificati correttamente. Questo modello offre una comoda sostituzione automatica U+FFFD di sequenze non valide durante l'iterazione del ciclo.