Utf8.ToUtf16 Método

Definição

Converte um byte span codificado em UTF-8 e apenas leitura para um span de caracteres codificado em 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>

Um byte span codificado em UTF-8 e apenas leitura.

destination
Span<Char>

Um intervalo de caracteres codificado em UTF-16.

bytesRead
Int32

Quando o método retorna, o número de bytes lidos de source.

charsWritten
Int32

Quando o método retorna, o número de caracteres escritos em destination.

replaceInvalidSequences
Boolean

true para substituir sequências UTF-8 inválidas em source por U+FFFD; false para devolver InvalidData se forem encontrados caracteres inválidos em source.

isFinalBlock
Boolean

true se o método não devolver NeedMoreData; caso contrário, false.

Devoluções

Um valor que indica o estado da conversão.

Observações

Este método corresponde ao método UTF8Encoding.GetChars , exceto que tem uma convenção de chamada diferente, mecanismos de tratamento de erros distintos e características de desempenho distintas.

Se 'replaceInvalidSequences' for true, o método substitui quaisquer subsequências mal formadas em source por U+FFFD em destination e continua a processar o restante buffer. Caso contrário, o método retorna OperationStatus.InvalidData se encontrar sequências mal formadas.

Se o método devolver um código de erro, os parâmetros out indicam quanto dos dados foi transcodificado com sucesso, e a localização da subsequência mal formada pode ser deduzida a partir desses valores.

Se 'replaceInvalidSequences' for true, o método nunca retorna OperationStatus.InvalidData. Se 'isFinalBlock' for true, o método nunca retorna OperationStatus.NeedMoreData.

Aplica-se a