Utf8.ToUtf16 Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
- 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
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.