Rune.DecodeFromUtf8(ReadOnlySpan<Byte>, Rune, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
解碼 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 替換無效序列。