次の方法で共有


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

source で無効な UTF-16 シーケンスを U+FFFD に置き換えるには true、無効な文字が source で見つかった場合に InvalidData を返すには false

isFinalBlock
Boolean

メソッドで NeedMoreData を返さない場合は true、それ以外の場合は false

戻り値

OperationStatus

変換の状態を示す値。

注釈

このメソッドは UTF8Encoding.GetBytes メソッドに対応していますが、呼び出し規則、エラー処理メカニズム、およびパフォーマンス特性が異なる点が異なります。

'replaceInvalidSequences' の場合、このメソッドはtrue、不適切な形式のサブシーケンスを U+FFFD にsource``destination置き換え、バッファーの残りの処理を続行します。 それ以外の場合、形式が不適切な OperationStatus.InvalidData シーケンスが発生した場合、メソッドは返します。

メソッドからエラー コードが返された場合、out パラメーターはデータのトランスコードが成功した量を示し、不適切な形式のサブシーケンスの場所をこれらの値から推定できます。

'replaceInvalidSequences' が指定されている場合、メソッドは trueOperationStatus.InvalidDataしません。 'isFinalBlock' が指定されている場合、メソッドは trueOperationStatus.NeedMoreDataしません。

適用対象