Compartir a través de


Base64.DecodeFromUtf8 Método

Definición

Descodifica el intervalo de texto codificado UTF-8 representado como base 64 en datos binarios. Si la entrada no es un múltiplo de 4, descodificará tanto como sea posible, al múltiplo más cercano de 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

Parámetros

utf8
ReadOnlySpan<Byte>

El intervalo de entrada que contiene texto codificado UTF-8 en base 64 que tiene que descodificar.

bytes
Span<Byte>

El intervalo de salida que contiene el resultado de la operación, es decir, los datos binarios descodificados.

bytesConsumed
Int32

Cuando este método devuelve , contiene el número de bytes de entrada consumidos durante la operación. Esto puede usarse para segmentar la entrada en llamadas posteriores, si es necesario.

bytesWritten
Int32

Cuando este método vuelve, contiene el número de bytes escritos en el intervalo de salida. Esto puede usarse para segmentar la salida en llamadas posteriores, si es necesario.

isFinalBlock
Boolean

true (valor predeterminado) para indicar que el intervalo de entrada contiene todos los datos que se van a descodificar. false para indicar que el intervalo de entrada contiene datos parciales con más datos que se deben seguir.

Devoluciones

Uno de los valores de enumeración que indica el estado de la operación de descodificación.

Comentarios

El valor devuelto puede ser el siguiente:

  • OperationStatus.Done: el procesamiento de todo el intervalo de entrada se realizó correctamente.
  • OperationStatus.DestinationTooSmall: no hay suficiente espacio en el intervalo de salida para escribir la entrada descodificada.
  • OperationStatus.NeedMoreData: isFinalBlock es false y la entrada no es un múltiplo de 4. De lo contrario, la entrada parcial se considera InvalidData.
  • OperationStatus.InvalidData: la entrada contiene bytes fuera del intervalo base 64 esperado o está incompleto (es decir, no un múltiplo de 4) y isFinalBlock es true. En .NET 7 y versiones anteriores, este valor también puede indicar que la entrada tiene caracteres de relleno no válidos o más de dos.

Se aplica a