Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) メソッド

定義

指定された UTF-16 ソース バッファーの先頭で Rune を復号します。

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

パラメーター

source
ReadOnlySpan<Char>

読み取り専用 UTF-16 文字スパン。

result
Rune

このメソッドから制御が戻るときに、デコードされたルーン。

charsConsumed
Int32

このメソッドから制御が戻るときに、ルーンを作成するために読み取られた文字数。

戻り値

UTF-16 でエンコードされた有効なスカラー値でソース バッファーが始まる場合、Done。 結果として、復号された Runeresult に含まれます。charsConsumed には Rune をエンコードする目的で入力バッファーで使用される Char 値の数が含まれます。

ソース バッファーが空か、スタンドアロンの UTF-16 上位サロゲート文字のみが含まれる場合、NeedMoreData。 結果として、resultReplacementChar が含まれ、charsConsumed には入力バッファーの長さが含まれます。

UTF-16 でエンコードされた、形式が正しくないスカラー値でソース バッファーが始まる場合、InvalidData。 結果として、resultReplacementChar が含まれ、charsConsumed には形式が正しくないシーケンスをエンコードした Char 値の数が含まれます。 .

注釈

一般的な規則では、ループ内でこのメソッドを呼び出し、ループの source 各イテレーションで要素によって charsConsumed バッファーをスライスします。 ループの各イテレーションで、 には、 result データが正常にデコードされた場合は実際のスカラー値が含まれ、データが正常にデコードされなかった場合は が含まれます Rune.ReplacementChar 。 このパターンは、ループの反復処理中に無効なシーケンスの便利な自動 U+FFFD 置換を提供します。

適用対象