Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Metodo

Definizione

Decodifica l'oggetto Rune all'inizio del buffer di origine UTF-8 fornito.

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

Quando termina, la runa decodificata.

bytesConsumed
Int32

Quando termina, il numero di byte letti per creare la runa.

Valori restituiti

Done se il buffer di origine inizia con un valore scalare con codifica UTF-8 valido. resultcontiene quindi l'oggetto decodificato Runee bytesConsumed contiene il numero di valori utilizzati nel buffer di Byte input per codificare .Rune

NeedMoreData se il buffer di origine è vuoto o contiene solo un carattere surrogato alto UTF-8 autonomo. result ReplacementCharcontiene quindi e bytesConsumed contiene la lunghezza del buffer di input.

InvalidData se il buffer di origine inizia con un valore scalare con codifica UTF-8 non valido. result ReplacementCharcontiene quindi e bytesConsumed contiene il numero di valori utilizzati nel buffer di Byte input per codificare la sequenza non formata. .

Commenti

La convenzione generale consiste nel chiamare questo metodo in un ciclo, sezionando il source buffer in bytesConsumed base agli elementi in ogni iterazione del ciclo. In ogni iterazione del ciclo result contiene il valore scalare reale se decodificato correttamente o contiene Rune.ReplacementChar se i dati non sono stati decodificati correttamente. Questo modello fornisce una comoda sostituzione automatica U+FFFD di sequenze non valide durante l'iterazione del ciclo.

Si applica a