Sdílet prostřednictvím


Base64.DecodeFromUtf8 Metoda

Definice

Dekóduje rozsah textu kódování UTF-8 reprezentovaného jako základ 64 na binární data. Pokud vstup není násobek 4, dekóduje co nejvíce na nejbližší násobek 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>

Vstupní rozsah, který obsahuje text v kódování UTF-8 v základu 64, který je potřeba dekódovat.

bytes
Span<Byte>

Výstupní rozsah, který obsahuje výsledek operace, to znamená dekódovaná binární data.

bytesConsumed
Int32

Když tato metoda vrátí hodnotu , obsahuje počet vstupních bajtů spotřebovaných během operace. V případě potřeby se dá použít k průřezu vstupu pro následná volání.

bytesWritten
Int32

Když tato metoda vrátí, obsahuje počet bajtů zapsaných do výstupního rozsahu. V případě potřeby se dá použít k průřezu výstupu pro následná volání.

isFinalBlock
Boolean

true (výchozí) označuje, že vstupní rozsah obsahuje celá data k dekódování. false k označení, že vstupní rozsah obsahuje částečná data a další data se mají sledovat.

Návraty

Jedna z hodnot výčtu, která označuje stav operace dekódování.

Poznámky

Vrácená hodnota může být následující:

  • OperationStatus.Done: Zpracování celého vstupního rozsahu bylo úspěšné.
  • OperationStatus.DestinationTooSmall: Ve výstupním rozsahu není dostatek místa pro zápis dekódovaného vstupu.
  • OperationStatus.NeedMoreData: isFinalBlock a false vstup není násobek 4. V opačném případě se částečný vstup považuje za InvalidData.
  • OperationStatus.InvalidData: Vstup obsahuje bajty mimo očekávaný rozsah základu 64 nebo je neúplný (to znamená, že není násobek čísla 4) a isFinalBlock je true. V .NET 7 a starších verzích může tato hodnota také znamenat, že vstup obsahuje neplatné nebo více než dva znaky odsazení.

Platí pro