Utf8.ToUtf16 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 UTF-8 編碼唯讀位元組範圍轉換為 UTF-16 編碼字元範圍。
public static System.Buffers.OperationStatus ToUtf16 (ReadOnlySpan<byte> source, Span<char> destination, out int bytesRead, out int charsWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true);
static member ToUtf16 : ReadOnlySpan<byte> * Span<char> * int * int * bool * bool -> System.Buffers.OperationStatus
Public Shared Function ToUtf16 (source As ReadOnlySpan(Of Byte), destination As Span(Of Char), ByRef bytesRead As Integer, ByRef charsWritten As Integer, Optional replaceInvalidSequences As Boolean = true, Optional isFinalBlock As Boolean = true) As OperationStatus
參數
- source
- ReadOnlySpan<Byte>
UTF-8 編碼唯讀位元組範圍。
- bytesRead
- Int32
當方法傳回時,自 source
讀取的位元組數量。
- charsWritten
- Int32
當方法傳回時,寫入 destination
的字元數量。
- replaceInvalidSequences
- Boolean
如果在 source
中發現無效的字元,true
則以 U+FFFD 取代 source
中無效的 UTF-8 序列,false
則傳回 InvalidData。
- isFinalBlock
- Boolean
如果此方法不應傳回 NeedMoreData,則為 true
;否則為 false
。
傳回
值,指出此轉換的狀態。
備註
這個方法會對應至 UTF8Encoding.GetChars 方法,不同之處在于它具有不同的呼叫慣例、不同的錯誤處理機制,以及不同的效能特性。
如果 'replaceInvalidSequences' 為 true
,則 方法會將 中任何格式不正確的子序列取代為 中的 source
destination
U+FFFD,並繼續處理緩衝區的其餘部分。 否則,如果方法遇到任何格式不正確的序列,則傳回 OperationStatus.InvalidData 。
如果方法傳回錯誤碼,out 參數會指出已成功轉碼多少資料,而且可以從這些值推斷錯誤格式子序列的位置。
如果 'replaceInvalidSequences' 為 true
,則方法永遠不會傳 OperationStatus.InvalidData 回 。 如果 'isFinalBlock' 為 true
,則方法永遠不會傳 OperationStatus.NeedMoreData 回 。