Udostępnij za pośrednictwem


Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Metoda

Definicja

Dekoduje wartość Rune na początku udostępnionego buforu źródłowego UTF-16.

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

Parametry

source
ReadOnlySpan<Char>

Zakres znaków UTF-16 tylko do odczytu.

result
Rune

Po powrocie tej metody zdekodowany element rune.

charsConsumed
Int32

Gdy ta metoda zwróci wartość , liczba znaków odczytanych w celu utworzenia przebiegu.

Zwraca

OperationStatus

Done jeśli bufor źródłowy rozpoczyna się od prawidłowej zakodowanej wartości skalarnej UTF-16. resultNastępnie zawiera dekodowane Runewartości i charsConsumed zawiera liczbę wartości używanych Char w buforze wejściowym do zakodowania .Rune

NeedMoreData jeśli bufor źródłowy jest pusty lub zawiera tylko autonomiczny znak zastępczy UTF-16. result element zawiera ReplacementCharelement i charsConsumed zawiera długość buforu wejściowego.

InvalidData jeśli bufor źródłowy rozpoczyna się od nieprzetworzonej wartości skalarnej zakodowanej za pomocą utF-16. result Element zawiera ReplacementCharelement i charsConsumed zawiera liczbę wartości używanych Char do kodowania sekwencji, które są źle sformułowane. .

Uwagi

Ogólna konwencja polega na wywołaniu tej metody w pętli, fragmentowaniu buforu source przez charsConsumed elementy w każdej iteracji pętli. W każdej iteracji pętli zawiera rzeczywistą wartość skalarną, result jeśli dane zostały pomyślnie zdekodowane lub zawiera Rune.ReplacementChar , czy dane nie zostały pomyślnie zdekodowane. Ten wzorzec zapewnia wygodne automatyczne podstawianie U+FFFD nieprawidłowych sekwencji podczas iterowania przez pętlę.

Dotyczy