Udostępnij za pośrednictwem


Base64.DecodeFromUtf8 Metoda

Definicja

Dekoduje zakres zakodowanego tekstu UTF-8 reprezentowanego jako base 64 na dane binarne. Jeśli dane wejściowe nie są wielokrotnością 4, zdekodują ją tak samo, jak to możliwe, do najbliższej wielokrotności 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

Parametry

utf8
ReadOnlySpan<Byte>

Zakres wprowadzania zawierający zakodowany w formacie UTF-8 tekst w bazie 64, który musi zostać zdekodowany.

bytes
Span<Byte>

Zakres danych wyjściowych, który zawiera wynik operacji, czyli zdekodowane dane binarne.

bytesConsumed
Int32

Gdy ta metoda zwraca wartość , zawiera liczbę bajtów wejściowych użytych podczas operacji. Może to służyć do fragmentowania danych wejściowych dla kolejnych wywołań, jeśli to konieczne.

bytesWritten
Int32

Gdy ta metoda zwraca wartość , zawiera liczbę bajtów zapisanych w zakresie danych wyjściowych. Może to służyć do fragmentowania danych wyjściowych dla kolejnych wywołań, jeśli to konieczne.

isFinalBlock
Boolean

true (ustawienie domyślne) wskazujące, że zakres wejściowy zawiera całe dane do dekodowania. false aby wskazać, że zakres wejściowy zawiera częściowe dane z większą ilością danych do naśladowania.

Zwraca

Jedna z wartości wyliczenia wskazująca stan operacji dekodowania.

Uwagi

Wartość zwracana może być następująca:

  • OperationStatus.Done: Przetwarzanie całego zakresu danych wejściowych powiodło się.
  • OperationStatus.DestinationTooSmall: Za mało miejsca w zakresie danych wyjściowych, aby zapisać zdekodowane dane wejściowe.
  • OperationStatus.NeedMoreData: isFinalBlock to false i dane wejściowe nie są wielokrotnością 4. W przeciwnym razie częściowe dane wejściowe są traktowane jako InvalidData.
  • OperationStatus.InvalidData: Dane wejściowe zawierają bajty poza oczekiwanym zakresem base 64 lub są niekompletne (czyli nie wielokrotność 4) i isFinalBlock to true. W programie .NET 7 i starszych wersjach ta wartość może również wskazywać, że dane wejściowe mają nieprawidłowe lub więcej niż dwa znaki wypełnienia.

Dotyczy