Share via


Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) メソッド

定義

指定された 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

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

戻り値

OperationStatus

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

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

UTF-8 でエンコードされた、形式が正しくないスカラー値で入力バッファーが始まる場合、InvalidData。 結果として、resultReplacementChar が含まれ、bytesConsumed には形式が正しくないシーケンスをエンコードする目的で入力バッファーで使用された Byte 値の数が含まれます。 .

注釈

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

適用対象