Utf8.FromUtf16 Método

Definição

Converte um intervalo de caracteres UTF-16 num intervalo de bytes codificado UTF-8.

public static System.Buffers.OperationStatus FromUtf16(ReadOnlySpan<char> source, Span<byte> destination, out int charsRead, out int bytesWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true);
static member FromUtf16 : ReadOnlySpan<char> * Span<byte> * int * int * bool * bool -> System.Buffers.OperationStatus
Public Shared Function FromUtf16 (source As ReadOnlySpan(Of Char), destination As Span(Of Byte), ByRef charsRead As Integer, ByRef bytesWritten As Integer, Optional replaceInvalidSequences As Boolean = true, Optional isFinalBlock As Boolean = true) As OperationStatus

Parâmetros

source
ReadOnlySpan<Char>

Um intervalo de caracteres somente leitura codificado em UTF-16.

destination
Span<Byte>

Um byte span codificado em UTF-8.

charsRead
Int32

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

bytesWritten
Int32

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

replaceInvalidSequences
Boolean

true para substituir sequências UTF-16 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.GetBytes , 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