Base64.DecodeFromUtf8 Metoda

Definicja

Dekoduje zakres zakodowanego tekstu UTF-8 reprezentowanego jako podstawowy 64 do danych binarnych. 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 wejściowy zawierający zakodowany w formacie UTF-8 tekst w formacie base 64, który musi zostać zdekodowany.

bytes
Span<Byte>

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

bytesConsumed
Int32

Liczba bajtów wejściowych użytych podczas operacji. Może to służyć do wycinek danych wejściowych dla kolejnych wywołań, jeśli to konieczne.

bytesWritten
Int32

Liczba bajtów zapisanych w zakresie danych wyjściowych. Może to służyć do fragmentowania danych wyjściowych kolejnych wywołań, jeśli to konieczne.

isFinalBlock
Boolean

true (ustawienie domyślne) jeśli zakres danych wejściowych zawiera całe dane do dekodowania. false jeśli zakres danych wejściowych zawiera częściowe dane z większą ilością danych do naśladowania.

Zwraca

OperationStatus

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 zakończyło się pomyślnie.
  • OperationStatus.DestinationTooSmall: Za mało miejsca w zakresie danych wyjściowych, aby zapisać zdekodowane dane wejściowe.
  • OperationStatus.NeedMoreData: isFinalBlock jest 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, mają nieprawidłowe lub więcej niż dwa znaki dopełniania lub są niekompletne (czyli nie wielokrotność 4) i isFinalBlock to true.

Dotyczy