Compartir vía


Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Método

Definición

Descodifica Rune al principio del búfer de origen UTF-16 proporcionado.

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>

Intervalo de caracteres UTF-16 de solo lectura.

result
Rune

Cuando finaliza el método, el rune descodificado.

charsConsumed
Int32

Cuando finaliza el método, el número de caracteres leídos para crear el rune.

Devoluciones

Done si el búfer de origen comienza con un valor escalar codificado UTF-16 válido. result contendrá el elemento Rune descodificado y charsConsumed el número de valores de Char utilizados en el búfer de entrada para codificar Rune.

NeedMoreData si el búfer de origen está vacío o contiene solo un carácter suplente alto UTF-16 independiente. result contendrá ReplacementChar y charsConsumed la longitud del búfer de entrada.

InvalidData si el búfer de origen comienza con un valor escalar codificado UTF-16 defectuoso. result contendrá ReplacementChar y charsConsumed el número de valores de Char que se usan para codificar la secuencia defectuosa. .

Comentarios

La convención general consiste en llamar a este método en un bucle, segmentando el source búfer por charsConsumed elementos en cada iteración del bucle. En cada iteración del bucle, result contiene el valor escalar real si los datos se descodificaron correctamente o si Rune.ReplacementChar los datos no se descodificaron correctamente. Este patrón proporciona una cómoda sustitución automática de U+FFFD de secuencias no válidas mientras recorre en iteración el bucle.

Se aplica a