Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定された UTF-8 ソース バッファーの先頭にある 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
パラメーター
- source
- ReadOnlySpan<Byte>
読み取り専用の UTF-8 でエンコードされたバイト スパン。
- result
- Rune
このメソッドが返されるときに、デコードされたルーン。
- bytesConsumed
- Int32
このメソッドが戻るときに、ルーンを作成するために読み取られたバイト数。
返品
Done ソース バッファーが有効な UTF-8 でエンコードされたスカラー値で始まる場合。
resultにはデコードされたRuneが格納され、bytesConsumedには、Runeをエンコードするために入力バッファーで使用されるByte値の数が格納されます。
NeedMoreData ソース バッファーが空であるか、スタンドアロンの UTF-8 上位サロゲート文字のみが含まれている場合。
result には ReplacementCharが格納され、 bytesConsumed には入力バッファーの長さが含まれます。
InvalidData ソース バッファーが不適切な形式の UTF-8 でエンコードされたスカラー値で始まる場合。
result 次に、 ReplacementCharが格納され、 bytesConsumed には、正しくない形式のシーケンスをエンコードするために入力バッファーで使用される Byte 値の数が格納されます。
.
注釈
一般的な規則は、ループ内でこのメソッドを呼び出し、ループの各反復処理で要素をbytesConsumedしてsource バッファーをスライスすることです。 ループの各反復処理で、 result には、正常にデコードされた場合は実際のスカラー値が含まれます。または、データを正常にデコードできなかった場合は Rune.ReplacementChar が含まれます。 このパターンは、ループの反復処理中に無効なシーケンスの自動 U+FFFD 置換を便利に提供します。