Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
解碼所提供 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
當使方法傳回時,會是已解碼的 rune。
- charsConsumed
- Int32
當此方法傳回時,會是讀取以建立 rune 的字元數目。
傳回
如果來源緩衝區是以有效的 UTF-16 編碼純量值開頭,則為 Done。
result
則會包含已解碼的 Rune,且 charsConsumed
會包含輸入緩衝區中用來編碼 Rune 的 Char 值數目。
如果來源緩衝區是空的或只包含獨立 UTF-16 高代理字元,則為 NeedMoreData。
result
則會包含 ReplacementChar,且 charsConsumed
會包含輸入緩衝區的長度。
如果來源緩衝區是以語式錯誤的 UTF-16 編碼純量值開頭,則為 InvalidData。
result
則會包含 ReplacementChar,且 charsConsumed
會包含用來編碼語式錯誤序列的 Char 值數目。
.
備註
一般慣例是在迴圈中呼叫這個方法,在迴圈的每個反復專案上依元素分割 source
緩衝區 charsConsumed
。 在迴圈的每個反復專案上, result
如果資料成功解碼,則包含實際純量值,如果資料未成功解碼,則會包含 Rune.ReplacementChar 。 此模式提供方便的自動 U+FFFD 替代無效序列,同時逐一查看迴圈。