Condividi tramite


Utf8.FromUtf16 Metodo

Definizione

Converte un intervallo di caratteri UTF-16 in un intervallo di byte con codifica 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

Parametri

source
ReadOnlySpan<Char>

Un intervallo di caratteri di sola lettura con codifica UTF-16.

destination
Span<Byte>

Un intervallo di byte con codifica UTF-8.

charsRead
Int32

Quando il metodo restituisce un risultato, il numero di caratteri letti da source.

bytesWritten
Int32

Quando il metodo restituisce un risultato, il numero di byte scritti in destination.

replaceInvalidSequences
Boolean

true per sostituire le sequenze UTF-16 non valide in source con U+FFFD, false per restituire InvalidData se vengono trovati caratteri non validi in source.

isFinalBlock
Boolean

true se il metodo non deve restituire NeedMoreData, in caso contrario false.

Restituisce

OperationStatus

Valore che indica lo stato della conversione.

Commenti

Questo metodo corrisponde al metodo UTF8Encoding.GetBytes , ad eccezione del fatto che ha una convenzione di chiamata diversa, meccanismi di gestione degli errori diversi e caratteristiche di prestazioni diverse.

Se 'replaceInvalidSequences' è true, il metodo sostituisce eventuali sottosequenze non formate in source con U+FFFD in destination e continua l'elaborazione del resto del buffer. In caso contrario, il metodo restituisce OperationStatus.InvalidData se rileva sequenze non formate.

Se il metodo restituisce un codice di errore, i parametri out indicano quanti dati sono stati transcodificati correttamente e la posizione della sottosequenza non corretta può essere dedotta da questi valori.

Se 'replaceInvalidSequences' è true, il metodo non restituisce OperationStatus.InvalidDatamai . Se 'isFinalBlock' è true, il metodo non restituisce OperationStatus.NeedMoreDatamai .

Si applica a