Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Decodifica o Rune no início do buffer de origem UTF-16 fornecido.
public:
static System::Buffers::OperationStatus DecodeFromUtf16(ReadOnlySpan<char> source, [Runtime::InteropServices::Out] System::Text::Rune % result, [Runtime::InteropServices::Out] int % charsConsumed);
public static System.Buffers.OperationStatus DecodeFromUtf16 (ReadOnlySpan<char> source, out System.Text.Rune result, out int charsConsumed);
static member DecodeFromUtf16 : ReadOnlySpan<char> * Rune * int -> System.Buffers.OperationStatus
Public Shared Function DecodeFromUtf16 (source As ReadOnlySpan(Of Char), ByRef result As Rune, ByRef charsConsumed As Integer) As OperationStatus
Parâmetros
- source
- ReadOnlySpan<Char>
Um intervalo de caracteres UTF-16 somente leitura.
- result
- Rune
Quando este método é retornado, o símbolo decodificado.
- charsConsumed
- Int32
Quando este método é retornado, o número de caracteres lidos para criar o símbolo.
Retornos
Done se o buffer de origem começar com um valor escalar codificado UTF-16 válido. result
, então, contém o Rune decodificado e charsConsumed
contém o número de valores Char usados no buffer de entrada para codificar o Rune.
NeedMoreData se o buffer de origem estiver vazio ou contiver apenas um caractere UTF-16 alternativo superior. result
, então, contém ReplacementChar, e charsConsumed
contém o comprimento do buffer de entrada.
InvalidData se o buffer de origem começar com um valor escalar codificado em UTF-16 malformado. result
, então, contém ReplacementChar, e charsConsumed
contém o número de valores de Char usados para codificar a sequência malformada.
.
Comentários
A convenção geral é chamar esse método em um loop, cortando o source
buffer por charsConsumed
elementos em cada iteração do loop. Em cada iteração do loop, result
contém o valor escalar real se os dados foram decodificados com êxito ou se Rune.ReplacementChar os dados não foram decodificados com êxito. Esse padrão fornece substituição U+FFFD automática conveniente de sequências inválidas durante a iteração por meio do loop.