Condividi tramite


Base64Url.DecodeFromUtf8 Metodo

Definizione

Overload

DecodeFromUtf8(ReadOnlySpan<Byte>)

Decodifica l'intervallo di testo con codifica UTF-8 rappresentato come Base64Url in dati binari.

DecodeFromUtf8(ReadOnlySpan<Byte>, Span<Byte>)

Decodifica l'intervallo di testo con codifica UTF-8 rappresentato come Base64Url in dati binari.

DecodeFromUtf8(ReadOnlySpan<Byte>, Span<Byte>, Int32, Int32, Boolean)

Decodifica l'intervallo di testo con codifica UTF-8 rappresentato come Base64Url in dati binari.

DecodeFromUtf8(ReadOnlySpan<Byte>)

Origine:
Base64UrlDecoder.cs

Decodifica l'intervallo di testo con codifica UTF-8 rappresentato come Base64Url in dati binari.

public:
 static cli::array <System::Byte> ^ DecodeFromUtf8(ReadOnlySpan<System::Byte> source);
public static byte[] DecodeFromUtf8 (ReadOnlySpan<byte> source);
static member DecodeFromUtf8 : ReadOnlySpan<byte> -> byte[]
Public Shared Function DecodeFromUtf8 (source As ReadOnlySpan(Of Byte)) As Byte()

Parametri

source
ReadOnlySpan<Byte>

Intervallo di input che contiene testo con codifica UTF-8 in Base64Url che deve essere decodificato.

Restituisce

Byte[]

>Matrice di byte contenente il risultato dell'operazione di decodifica.

Eccezioni

source contiene un carattere Base64Url non valido,

più di due caratteri di spaziatura interna o uno spazio vuoto tra i caratteri di riempimento.

Si applica a

DecodeFromUtf8(ReadOnlySpan<Byte>, Span<Byte>)

Origine:
Base64UrlDecoder.cs

Decodifica l'intervallo di testo con codifica UTF-8 rappresentato come Base64Url in dati binari.

public:
 static int DecodeFromUtf8(ReadOnlySpan<System::Byte> source, Span<System::Byte> destination);
public static int DecodeFromUtf8 (ReadOnlySpan<byte> source, Span<byte> destination);
static member DecodeFromUtf8 : ReadOnlySpan<byte> * Span<byte> -> int
Public Shared Function DecodeFromUtf8 (source As ReadOnlySpan(Of Byte), destination As Span(Of Byte)) As Integer

Parametri

source
ReadOnlySpan<Byte>

Intervallo di input che contiene testo con codifica UTF-8 in Base64Url che deve essere decodificato.

destination
Span<Byte>

Intervallo di output che contiene il risultato dell'operazione, ad esempio i dati binari decodificati.

Restituisce

Numero di byte scritti in destination. Può essere usato per sezionare l'output per le chiamate successive, se necessario.

Eccezioni

Il buffer in destination è troppo piccolo per contenere l'output codificato.

source contiene un carattere Base64Url non valido,

più di due caratteri di spaziatura interna o uno spazio vuoto tra i caratteri di riempimento.

Commenti

Poiché la spaziatura interna è facoltativa per Base64Url, la lunghezza source non deve essere un multiplo di 4.

Se la lunghezza source non è un multiplo di 4 i rimanenti decodificati di conseguenza:

- Resto di 3 byte: decodificato in 2 byte di dati, decodifica riuscita.

- Resto di 2 byte: decodificato in 1 byte. decodifica riuscita.

- Resto di 1 byte: l'input non è valido, causa l'eccezione FormatException.

Si applica a

DecodeFromUtf8(ReadOnlySpan<Byte>, Span<Byte>, Int32, Int32, Boolean)

Origine:
Base64UrlDecoder.cs

Decodifica l'intervallo di testo con codifica UTF-8 rappresentato come Base64Url in dati binari.

public static System.Buffers.OperationStatus DecodeFromUtf8 (ReadOnlySpan<byte> source, Span<byte> destination, 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 (source As ReadOnlySpan(Of Byte), destination As Span(Of Byte), ByRef bytesConsumed As Integer, ByRef bytesWritten As Integer, Optional isFinalBlock As Boolean = true) As OperationStatus

Parametri

source
ReadOnlySpan<Byte>

Intervallo di input che contiene testo con codifica UTF-8 in Base64Url che deve essere decodificato.

destination
Span<Byte>

Intervallo di output che contiene il risultato dell'operazione, ad esempio i dati binari decodificati.

bytesConsumed
Int32

Quando termina, questo metodo contiene il numero di byte di input utilizzati durante l'operazione. Può essere usato per sezionare l'input per le chiamate successive, se necessario. Questo parametro viene considerato non inizializzato.

bytesWritten
Int32

Quando termina, questo metodo contiene il numero di byte scritti nell'intervallo di output. Può essere usato per sezionare l'output per le chiamate successive, se necessario. Questo parametro viene considerato non inizializzato.

isFinalBlock
Boolean

true quando l'intervallo di input contiene l'intera quantità di dati da codificare; false quando possono essere seguiti più dati,

ad esempio quando si chiama in un ciclo. Le chiamate con false devono essere seguite con un'altra chiamata in cui questo parametro è true chiamata. Il valore predefinito è true.

Restituisce

Uno dei valori di enumerazione che indica l'esito positivo o negativo dell'operazione.

Commenti

Poiché la spaziatura interna è facoltativa per Base64Url, la lunghezza source non deve essere un multiplo di 4 anche se isFinalBlock è true.

Se la lunghezza source non è un multiplo di 4 e isFinalBlock viene true i restanti decodificati di conseguenza:

- Resto di 3 byte: decodificato in 2 byte di dati, decodifica riuscita.

- Resto di 2 byte: decodificato in 1 byte. decodifica riuscita.

- Resto di 1 byte: causerà il risultato operationStatus.InvalidData.

Si applica a