Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Dekoduje wartość Rune na początku udostępnionego buforu źródłowego UTF-8.
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
Parametry
- source
- ReadOnlySpan<Byte>
Zakres bajtów zakodowany tylko do odczytu UTF-8.
- result
- Rune
Po powrocie tej metody zdekodowany element rune.
- bytesConsumed
- Int32
Gdy ta metoda zwróci wartość , liczba bajtów odczytanych w celu utworzenia przebiegu.
Zwraca
Done jeśli bufor źródłowy rozpoczyna się od prawidłowej zakodowanej wartości skalarnej UTF-8. result
Następnie zawiera dekodowane Runewartości i bytesConsumed
zawiera liczbę wartości używanych Byte w buforze wejściowym do zakodowania .Rune
NeedMoreData jeśli bufor źródłowy jest pusty lub zawiera tylko autonomiczny znak zastępczy UTF-8. result
element zawiera ReplacementCharelement i bytesConsumed
zawiera długość buforu wejściowego.
InvalidData jeśli bufor źródłowy rozpoczyna się od nieprzetworzonej wartości skalarnej zakodowanej w formacie UTF-8. result
Następnie zawiera ReplacementCharelement i bytesConsumed
zawiera liczbę wartości używanych Byte w buforze wejściowym do kodowania nieprawidłowo sformułowanej sekwencji.
.
Uwagi
Ogólna konwencja polega na wywołaniu tej metody w pętli, fragmentowaniu buforu source
przez bytesConsumed
elementy w każdej iteracji pętli. W każdej iteracji pętli zawiera rzeczywistą wartość skalarną, result
jeśli została pomyślnie zdekodowana lub zawiera Rune.ReplacementChar , czy nie można pomyślnie zdekodować danych. Ten wzorzec zapewnia wygodne automatyczne podstawianie U+FFFD nieprawidłowych sekwencji podczas iterowania przez pętlę.