Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, 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-8 proporcionado.
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>
Intervalo de bytes codificados UTF-8 de solo lectura.
- result
- Rune
Cuando finaliza el método, el rune descodificado.
- bytesConsumed
- Int32
Cuando finaliza el método, el número de bytes leídos para crear el rune.
Devoluciones
Done si el búfer de origen comienza con un valor escalar codificado UTF-8 válido. result
contendrá el elemento Rune descodificado y bytesConsumed
el número de valores de Byte 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-8 independiente. result
contendrá ReplacementChar y bytesConsumed
la longitud del búfer de entrada.
InvalidData si el búfer de origen comienza con un valor escalar codificado UTF-8 defectuoso. result
contiene ReplacementChar y bytesConsumed
contiene el número de valores de Byte usados en el búfer de entrada 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 bytesConsumed
elementos en cada iteración del bucle. En cada iteración del bucle, result
contiene el valor escalar real si se descodifica correctamente o contiene Rune.ReplacementChar si los datos no se pudieron descodificar correctamente. Este patrón proporciona una sustitución automática automática de U+FFFD de secuencias no válidas mientras recorre en iteración el bucle.