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

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

返品

Done ソース バッファーが有効な UTF-16 でエンコードされたスカラー値で始まる場合。 resultにはデコードされたRuneが格納され、charsConsumedには、Runeをエンコードするために入力バッファーで使用されるChar値の数が格納されます。

NeedMoreData ソース バッファーが空であるか、スタンドアロンの UTF-16 上位サロゲート文字のみが含まれている場合。 result には ReplacementCharが格納され、 charsConsumed には入力バッファーの長さが含まれます。

InvalidData ソース バッファーが不適切な形式の UTF-16 でエンコードされたスカラー値で始まる場合。 result 次に、 ReplacementCharが格納され、 charsConsumed には、形式が正しくありませんシーケンスのエンコードに使用される Char 値の数が含まれます。 .

注釈

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

適用対象