Freigeben über


Base64.DecodeFromUtf8 Methode

Definition

Decodiert den Bereich des UTF-8-codierten Texts in Base64-Darstellung in binäre Daten. Wenn die Eingabe kein Vielfaches von 4 ist, wird so viel wie möglich bis zum nächsten Vielfachen von 4 decodiert.

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

Parameter

utf8
ReadOnlySpan<Byte>

Der Eingabebereich, der UTF-8-codierten Text in Base64-Darstellung enthält, der decodiert werden muss.

bytes
Span<Byte>

Der Ausgabebereich, der das Ergebnis des Vorgangs enthält, d.h. die decodierten binären Daten.

bytesConsumed
Int32

Wenn diese Methode zurückgibt, enthält die Anzahl der Eingabebytes, die während des Vorgangs verbraucht wurden. Dies kann verwendet werden, um die Eingabe ggf. für nachfolgende Aufrufe zu unterteilen.

bytesWritten
Int32

Wenn diese Methode zurückgibt, enthält die Anzahl der Bytes, die in die Ausgabespanne geschrieben wurden. Dies kann verwendet werden, um die Ausgabe ggf. für nachfolgende Aufrufe zu unterteilen.

isFinalBlock
Boolean

true (Standard), um anzugeben, dass die Eingabespanne die gesamten zu decodierten Daten enthält. false , um anzugeben, dass die Eingabespanne partielle Daten enthält, deren Weitere Daten folgen sollen.

Gibt zurück

Einer der Enumerationswerte, der den Status der Decodierung anzeigt.

Hinweise

Der Rückgabewert kann wie folgt aussehen:

  • OperationStatus.Done: Die Verarbeitung der gesamten Eingabespanne war erfolgreich.
  • OperationStatus.DestinationTooSmall: In der Ausgabespanne ist nicht genügend Speicherplatz vorhanden, um die decodierte Eingabe zu schreiben.
  • OperationStatus.NeedMoreData: isFinalBlock ist false , und die Eingabe ist kein Vielfaches von 4. Andernfalls wird die partielle Eingabe als betrachtet InvalidData.
  • OperationStatus.InvalidData: Die Eingabe enthält Bytes außerhalb des erwarteten Basis-64-Bereichs oder ist unvollständig (d. h. kein Vielfaches von 4) und isFinalBlock ist true. In .NET 7 und früheren Versionen kann dieser Wert auch angeben, dass die Eingabe über ungültige oder mehr als zwei Auffüllzeichen verfügt.

Gilt für: