Base64.DecodeFromUtf8 Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.
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
tofalse
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
totrue
. 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.