Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.