次の方法で共有


Base64.DecodeFromUtf8 メソッド

定義

base 64 として表される UTF-8 でエンコードされたテキストのスパンをバイナリ データにデコードします。 入力が 4 の倍数でない場合は、可能な限り 4 の倍数に最も近い値にデコードされます。

public static System.Buffers.OperationStatus DecodeFromUtf8 (ReadOnlySpan<byte> utf8, Span<byte> bytes, out int bytesConsumed, out int bytesWritten, bool isFinalBlock = true);
static member DecodeFromUtf8 : ReadOnlySpan<byte> * Span<byte> * int * int * bool -> System.Buffers.OperationStatus
Public Shared Function DecodeFromUtf8 (utf8 As ReadOnlySpan(Of Byte), bytes As Span(Of Byte), ByRef bytesConsumed As Integer, ByRef bytesWritten As Integer, Optional isFinalBlock As Boolean = true) As OperationStatus

パラメーター

utf8
ReadOnlySpan<Byte>

デコードが必要な base 64 方式の UTF-8 でエンコードされたテキストを含む入力スパン。

bytes
Span<Byte>

操作の結果 (つまり、デコードされたバイナリ データ) を含む出力スパン。

bytesConsumed
Int32

このメソッドから制御が戻るときに、操作中に使用された入力バイト数が格納されます。 必要な場合、これを使用して後続の呼び出しの入力をスライスできます。

bytesWritten
Int32

このメソッドから制御が戻るときに、出力スパンに書き込まれたバイト数が格納されます。 必要な場合、これを使用して後続の呼び出しの出力をスライスできます。

isFinalBlock
Boolean

true (既定値) は、入力スパンにデコードするデータ全体が含まれていることを示します。 false 入力スパンに、より多くのデータを含む部分データが含まれていることを示す場合は 。

戻り値

デコード操作の状態を示す列挙値の 1 つ。

注釈

戻り値は次のようになります。

  • OperationStatus.Done: 入力スパン全体の処理に成功しました。
  • OperationStatus.DestinationTooSmall: デコードされた入力を書き込むのに十分な領域が出力スパンにありません。
  • OperationStatus.NeedMoreData: isFinalBlockfalse で、入力は 4 の倍数ではありません。 それ以外の場合、部分入力は と見なされます InvalidData
  • OperationStatus.InvalidData: 入力に、想定される base 64 範囲外のバイトが含まれているか、不完全です (つまり、4 の倍数ではありません)。isFinalBlocktrue .NET 7 以前のバージョンでは、この値は、入力に無効または 2 つ以上の埋め込み文字があることを示す場合もあります。

適用対象