Partager via


Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Méthode

Définition

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

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

Paramètres

source
ReadOnlySpan<Byte>

Plage d’octets encodés au format UTF-8, en lecture seule.

result
Rune

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

bytesConsumed
Int32

Lorsque cette méthode est retournée, nombre d’octets lus pour créer le Rune.

Retours

OperationStatus

Done si la mémoire tampon source commence par une valeur scalaire valide encodée au format UTF-8. result contient le Rune décodé, et bytesConsumed contient le nombre de valeurs Byte 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-8 autonome. result contient ReplacementChar, et bytesConsumed 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-8. result contient ReplacementChar, et bytesConsumed contient le nombre de valeurs Byte utilisées dans la mémoire tampon d’entrée pour encoder la séquence mal formée. .

Remarques

La convention générale consiste à appeler cette méthode dans une boucle, en délicant la source mémoire tampon par bytesConsumed 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 elle est correctement décodée ou si Rune.ReplacementChar les données ne peuvent pas être décodées avec succès. 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 à