語言

Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) 方法

定義

解碼 Rune 於提供的 UTF-8 來源緩衝區開頭。

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 替換無效序列。

適用於