Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Decodifica o Rune no início do buffer de origem 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 span de bytes codificado em UTF-8 de apenas leitura.
- result
- Rune
Quando este método regressa, a runa decodificada.
- bytesConsumed
- Int32
Quando este método retorna, o número de bytes lidos para criar a runa.
Devoluções
Done se o buffer de origem começar com um valor escalar válido codificado em UTF-8.
result então contém o decodificado Rune, e bytesConsumed contém o número de Byte valores usados no buffer de entrada para codificar o Rune.
NeedMoreData se o buffer de origem estiver vazio ou contiver apenas um caractere substituto UTF-8 alto independente.
result então contém ReplacementChar, e 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 então contém ReplacementChar, e bytesConsumed contém o número de Byte valores usados no buffer de entrada para codificar a sequência mal formada.
.
Observações
A convenção geral é chamar este método num ciclo, cortando o source buffer por bytesConsumed elementos em cada iteração do ciclo. Em cada iteração do ciclo, result contém o valor escalar real se decodificado com sucesso, ou contém Rune.ReplacementChar se os dados não puderam ser decodificados com sucesso. Este padrão permite a substituição automática conveniente de sequências inválidas por U+FFFD durante a iteração pelo ciclo.