Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) Yöntem

Tanım

Sağlanan UTF-8 kaynak arabelleğinin başındaki kodunu çözer Rune .

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

Parametreler

source
ReadOnlySpan<Byte>

Salt okunur UTF-8 kodlanmış bayt aralığı.

result
Rune

Bu yöntem döndürdüğünde kodu çözülen rune.

bytesConsumed
Int32

Bu yöntem döndürdüğünde, çalıştırmayı oluşturmak için okunan bayt sayısı.

Döndürülenler

OperationStatus

Done kaynak arabelleği geçerli bir UTF-8 kodlanmış skaler değerle başlıyorsa. resultardından kodunun kodunun çözülmesini Runeiçerir ve bytesConsumed giriş arabelleğinde Runekullanılan değerlerin sayısını Byte içerir.

NeedMoreData kaynak arabelleği boşsa veya yalnızca tek başına UTF-8 yüksek vekil karakter içeriyorsa. resultardından öğesini bytesConsumed ve ReplacementChargiriş arabelleğinin uzunluğunu içerir.

InvalidData kaynak arabelleği kötü biçimlendirilmiş UTF-8 kodlanmış skaler değerle başlıyorsa. result ardından öğesini içerir ReplacementCharve bytesConsumed kötü biçimlendirilmiş diziyi kodlamak için giriş arabelleğinde kullanılan değerlerin sayısını Byte içerir. .

Açıklamalar

Genel kural, bu yöntemi döngüde çağırmak ve arabelleği döngünün source her yinelemesindeki öğelere göre bytesConsumed dilimler. Döngünün her yinelemesinde, result kodu başarıyla çözülen gerçek skaler değeri içerir veya verilerin kodunun başarıyla çözülüp çözülemediğini içerir Rune.ReplacementChar . Bu düzen, döngü boyunca yinelenirken geçersiz dizilerin kullanışlı otomatik U+FFFD değişimini sağlar.

Şunlara uygulanır