Idioma

Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Método

Definição

Decodifica o buffer de origem Rune UTF-8 no início do utf-8 fornecido.

public:
 static System::Buffers::OperationStatus DecodeFromUtf8(ReadOnlySpan<System::Byte> source, [Runtime::InteropServices::Out] System::Text::Rune % result, [Runtime::InteropServices::Out] int % bytesConsumed);
public static System.Buffers.OperationStatus DecodeFromUtf8(ReadOnlySpan<byte> source, out System.Text.Rune result, out int bytesConsumed);
static member DecodeFromUtf8 : ReadOnlySpan<byte> * Rune * int -> System.Buffers.OperationStatus
Public Shared Function DecodeFromUtf8 (source As ReadOnlySpan(Of Byte), ByRef result As Rune, ByRef bytesConsumed As Integer) As OperationStatus

Parâmetros

source
ReadOnlySpan<Byte>

Um intervalo de bytes codificado em UTF-8 somente leitura.

result
Rune

Quando esse método é retornado, o rune decodificado.

bytesConsumed
Int32

Quando esse método é retornado, o número de bytes lidos para criar o rune.

Retornos

Done se o buffer de origem começar com um valor escalar codificado em UTF-8 válido. result em seguida, contém o decodificado Runee bytesConsumed contém o número de valores usados no buffer de Byte entrada para codificar o Rune.

NeedMoreData se o buffer de origem estiver vazio ou contiver apenas um caractere alternativo UTF-8 autônomo. result em seguida, contém ReplacementChare bytesConsumed contém o comprimento do buffer de entrada.

InvalidData se o buffer de origem começar com um valor escalar codificado em UTF-8 mal formado. result em seguida, contém ReplacementChare bytesConsumed contém o número de Byte valores usados no buffer de entrada para codificar a sequência mal formada. .

Comentários

A convenção geral é chamar esse método em um loop, cortando o source buffer por bytesConsumed elementos em cada iteração do loop. Em cada iteração do loop, result contém o valor escalar real se decodificado com êxito ou contém Rune.ReplacementChar se os dados não puderam ser decodificados com êxito. Esse padrão fornece substituição U+FFFD automática conveniente de sequências inválidas durante a iteração pelo loop.

Aplica-se a