Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Metodo

Definizione

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

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

Parametri

source
ReadOnlySpan<Char>

Intervallo di caratteri UTF-16 di sola lettura.

result
Rune

Quando termina, la runa decodificata.

charsConsumed
Int32

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

Valori restituiti

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

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

InvalidData se il buffer di origine inizia con un valore scalare con codifica UTF-16 non valido. result ReplacementCharcontiene quindi e charsConsumed contiene il numero di Char valori usati per codificare la sequenza non formata. .

Commenti

La convenzione generale consiste nel chiamare questo metodo in un ciclo, sezionando il source buffer in charsConsumed base agli elementi in ogni iterazione del ciclo. In ogni iterazione del ciclo result contiene il valore scalare reale se i dati sono stati decodificati correttamente o se Rune.ReplacementChar 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