Compartir a través de


Utf8.ToUtf16 Método

Definición

Convierte un intervalo de bytes de solo lectura codificados UTF-8 en un intervalo de caracteres codificados 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

Parámetros

source
ReadOnlySpan<Byte>

Intervalo de bytes de solo lectura con codificación UTF-8.

destination
Span<Char>

Intervalo de caracteres con codificación en UTF-16.

bytesRead
Int32

Cuando lo devuelve el método, indica el número de bytes leídos en source.

charsWritten
Int32

Cuando lo devuelve el método, indica el número de caracteres escritos en destination.

replaceInvalidSequences
Boolean

true para reemplazar secuencias de UTF-8 no válidas en source con U+FFFD; false para devolver InvalidData si se encuentran caracteres no válidos en source.

isFinalBlock
Boolean

true si el método no debe devolver NeedMoreData; en caso contrario, false.

Devoluciones

OperationStatus

Valor que indica el estado de la conversión.

Comentarios

Este método corresponde al método UTF8Encoding.GetChars , salvo que tiene una convención de llamada diferente, distintos mecanismos de control de errores y diferentes características de rendimiento.

Si 'replaceInvalidSequences' es true, el método reemplaza las subsecuencias con formato incorrecto en por source U+FFFD en destination y continúa procesando el resto del búfer. De lo contrario, el método devuelve OperationStatus.InvalidData si encuentra secuencias con un formato incorrecto.

Si el método devuelve un código de error, los parámetros out indican la cantidad de datos que se transcodificaron correctamente y la ubicación de la subsecuencia con formato incorrecto se puede deducir de estos valores.

Si 'replaceInvalidSequences' es true, el método nunca devuelve OperationStatus.InvalidData. Si 'isFinalBlock' es true, el método nunca devuelve OperationStatus.NeedMoreData.

Se aplica a