Partage via


Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Méthode

Définition

Décode Rune au début de la mémoire tampon source UTF-16 fournie.

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

Paramètres

source
ReadOnlySpan<Char>

Étendue de caractères UTF-16 en lecture seule.

result
Rune

Lorsque cette méthode est retournée, Rune décodé.

charsConsumed
Int32

Lorsque cette méthode est retournée, nombre de caractères lus pour créer le Rune.

Retours

Done si la mémoire tampon source commence par une valeur scalaire valide encodée au format UTF-16. result contient le Rune décodé, et charsConsumed contient le nombre de valeurs Char utilisées dans la mémoire tampon d’entrée pour encoder le Rune.

NeedMoreData si la mémoire tampon source est vide ou contient uniquement un caractère de substitution étendu UTF-16 autonome. result contient ReplacementChar, et charsConsumed contient la longueur de la mémoire tampon d’entrée.

InvalidData si la mémoire tampon source commence par une valeur scalaire mal formée, encodée au format UTF-16. result contient ReplacementChar, et charsConsumed contient le nombre de valeurs Char utilisées pour encoder la séquence mal formée. .

Remarques

La convention générale consiste à appeler cette méthode dans une boucle, en coupant la source mémoire tampon par charsConsumed des éléments sur chaque itération de la boucle. Sur chaque itération de la boucle, result contient la valeur scalaire réelle si les données ont été correctement décodées, ou elle contient Rune.ReplacementChar si les données n’ont pas été correctement décodées. Ce modèle fournit une substitution U+FFFD automatique pratique des séquences non valides lors de l’itération dans la boucle.

S’applique à