Condividi tramite


Utf8.ToUtf16 Metodo

Definizione

Converte un intervallo di byte di sola lettura con codifica UTF-8 in un intervallo di byte con codifica UTF-16.

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

Parametri

source
ReadOnlySpan<Byte>

Intervallo di byte di sola lettura con codifica UTF-8.

destination
Span<Char>

Intervallo di caratteri con codifica UTF-16.

bytesRead
Int32

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

charsWritten
Int32

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

replaceInvalidSequences
Boolean

true per sostituire le sequenze UTF-8 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.GetChars , 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