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

Définition

Décode le Rune 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>

Étendue d’octets encodée en lecture seule UTF-8.

result
Rune

Lorsque cette méthode est retournée, l’rune décodé.

bytesConsumed
Int32

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

Retours

Done si la mémoire tampon source commence par une valeur scalaire encodée UTF-8 valide. result contient ensuite le décodé Runeet bytesConsumed contient le nombre de Byte valeurs 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 UTF-8 autonome. result ReplacementCharcontient ensuite , 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 encodée UTF-8 mal formée. result ReplacementCharcontient ensuite , et bytesConsumed contient le nombre de Byte valeurs 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 coupant 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 en cas de décodage réussi, ou contient Rune.ReplacementChar si les données ne pouvaient pas être correctement décodées. Ce modèle fournit une substitution U+FFFD automatique pratique des séquences non valides lors de l’itération au sein de la boucle.

S’applique à