Utf8.ToUtf16 Metodo

Definizione

Converte un intervallo di byte di sola lettura con codifica UTF-8 in un intervallo di caratteri 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 viene restituito, il numero di byte letti da source.

charsWritten
Int32

Quando il metodo termina, il numero di caratteri scritti in destination.

replaceInvalidSequences
Boolean

true per sostituire sequenze UTF-8 non valide in source con U+FFFD; false per restituire InvalidData se sono presenti caratteri non validi in source.

isFinalBlock
Boolean

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

Valori restituiti

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 in formato non valido 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 la quantità di dati che sono stati transcodificati correttamente e la posizione della sottosequenza in formato non corretto 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