語言

Utf8.FromUtf16 方法

定義

將 UTF-16 字元區間轉換為 UTF-8 編碼的位元組區間。

public static System.Buffers.OperationStatus FromUtf16(ReadOnlySpan<char> source, Span<byte> destination, out int charsRead, out int bytesWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true);
static member FromUtf16 : ReadOnlySpan<char> * Span<byte> * int * int * bool * bool -> System.Buffers.OperationStatus
Public Shared Function FromUtf16 (source As ReadOnlySpan(Of Char), destination As Span(Of Byte), ByRef charsRead As Integer, ByRef bytesWritten As Integer, Optional replaceInvalidSequences As Boolean = true, Optional isFinalBlock As Boolean = true) As OperationStatus

參數

source
ReadOnlySpan<Char>

一個 UTF-16 編碼的唯讀字元範圍。

destination
Span<Byte>

一個 UTF-8 編碼的位元組區間。

charsRead
Int32

當方法返回時,從 中讀取 source的字元數為 。

bytesWritten
Int32

當方法返回時,寫入 destination的位元組數為 。

replaceInvalidSequences
Boolean

true用 Usource+FFFD 替換無效的 UTF-16 序列;false若在 中發現source無效字元則回傳InvalidData。

isFinalBlock
Boolean

true 若方法不應回傳 NeedMoreData;否則, false。

傳回

一個表示轉換狀態的值。

備註

此方法對應於 UTF8Encoding.GetBytes 方法,但其呼叫慣例、錯誤處理機制及效能特性不同。

若「replaceInvalidSequences」為 true,則該方法將任何不完整子序列 source 替換為 U+FFFD , destination 並繼續處理緩衝區的其餘部分。 否則,若遇到任何不成形序列,方法會回傳 OperationStatus.InvalidData 。

若方法回傳錯誤碼,輸出參數顯示成功轉碼的部分資料,並可從這些值推斷出錯誤子序列的位置。

若「replaceInvalidSequences」為 true,該方法永遠不會回傳 OperationStatus.InvalidData。 若「isFinalBlock」為 true,該方法永遠不會回傳 OperationStatus.NeedMoreData。

適用於