Partilhar via


Utf8.ToUtf16 Método

Definição

Converte um intervalo de bytes somente leitura codificado por UTF-8 em um intervalo de bytes somente leitura codificado por 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 intervalo de bytes somente leitura codificados em UTF-8.

destination
Span<Char>

Um intervalo de caracteres codificado em UTF-16.

bytesRead
Int32

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

charsWritten
Int32

Quando o método é retornado, o número de caracteres gravados em destination.

replaceInvalidSequences
Boolean

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

isFinalBlock
Boolean

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

Retornos

OperationStatus

Um valor que indica o status da conversão.

Comentários

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

Se 'replaceInvalidSequences' for true, o método substituirá quaisquer subsequências mal formadas source por U+FFFD destination e continuará processando o restante do buffer. Caso contrário, o método retornará OperationStatus.InvalidData se encontrar sequências mal formadas.

Se o método retornar um código de erro, os parâmetros externos indicarão quanto dos dados foram transcodificados com êxito e o local da subsequenteuência mal formada poderá ser deduzido desses valores.

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

Aplica-se a