Partager via


Utf8.FromUtf16 Méthode

Définition

Convertit une plage de caractères UTF-16 en une plage d’octets encodés en UTF-8.

public static System.Buffers.OperationStatus FromUtf16 (ReadOnlySpan<char> source, Span<byte> destination, out int charsRead, out int bytesWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true);
static member FromUtf16 : ReadOnlySpan<char> * Span<byte> * int * int * bool * bool -> System.Buffers.OperationStatus
Public Shared Function FromUtf16 (source As ReadOnlySpan(Of Char), destination As Span(Of Byte), ByRef charsRead As Integer, ByRef bytesWritten As Integer, Optional replaceInvalidSequences As Boolean = true, Optional isFinalBlock As Boolean = true) As OperationStatus

Paramètres

source
ReadOnlySpan<Char>

Plage de caractères en lecture seule encodés en UTF-16.

destination
Span<Byte>

Plage d’octets encodés en UTF-8.

charsRead
Int32

Quand la méthode retourne, le nombre de caractères écrits depuis source.

bytesWritten
Int32

Quand la méthode retourne, le nombre de caractères écrits dans destination.

replaceInvalidSequences
Boolean

true pour remplacer les séquences UTF-16 non valides dans source par U+FFFD ; false pour retourner InvalidData si des caractères non valides sont trouvés dans source.

isFinalBlock
Boolean

true si la méthode ne doit pas retourner NeedMoreData ; sinon, false.

Retours

OperationStatus

Valeur qui indique l’état de la conversion.

Remarques

Cette méthode correspond à la méthode UTF8Encoding.GetBytes , sauf qu’elle a une convention d’appel différente, différents mécanismes de gestion des erreurs et différentes caractéristiques de performances.

Si 'replaceInvalidSequences' est true, la méthode remplace les sous-séquences mal formées dans source U+FFFD dans destination et continue de traiter le reste de la mémoire tampon. Sinon, la méthode retourne OperationStatus.InvalidData si elle rencontre des séquences mal formées.

Si la méthode retourne un code d’erreur, les paramètres out indiquent la quantité de données correctement transcodées, et l’emplacement de la sous-séquence mal formée peut être déduit de ces valeurs.

Si 'replaceInvalidSequences' est true, la méthode ne retourne OperationStatus.InvalidDatajamais . Si 'isFinalBlock' est true, la méthode ne retourne OperationStatus.NeedMoreDatajamais .

S’applique à