Base64.DecodeFromUtf8 Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Decodifica a extensão de texto codificado em UTF-8 representado como base 64 em dados binários. Se a entrada não for um múltiplo de 4, ela fará o maior número de decodificações possível até o múltiplo mais próximo 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>
A extensão de entrada que contém o texto codificado em UTF-8 na base 64 que precisa ser decodificado.
A extensão de saída que contém o resultado da operação, ou seja, os dados binários decodificados.
- bytesConsumed
- Int32
Quando esse método retorna, contém o número de bytes de entrada consumidos durante a operação. Isso pode ser usado para fatiar a entrada para chamadas subsequentes, se necessário.
- bytesWritten
- Int32
Quando esse método retorna, contém o número de bytes gravados no intervalo de saída. Isso pode ser usado para fatiar a saída para chamadas subsequentes, se necessário.
- isFinalBlock
- Boolean
true
(padrão) para indicar que o intervalo de entrada contém os dados inteiros a serem decodificados. false
para indicar que o intervalo de entrada contém dados parciais com mais dados a seguir.
Retornos
Um dos valores de enumeração que indica o status da operação de decodificação.
Comentários
O valor retornado pode ser o seguinte:
- OperationStatus.Done: o processamento de todo o intervalo de entrada foi bem-sucedido.
- OperationStatus.DestinationTooSmall: não há espaço suficiente no intervalo de saída para gravar a entrada decodificada.
- OperationStatus.NeedMoreData:
isFinalBlock
éfalse
e a entrada não é um múltiplo de 4. Caso contrário, a entrada parcial será considerada InvalidData. - OperationStatus.InvalidData: a entrada contém bytes fora do intervalo de base 64 esperado ou está incompleta (ou seja, não um múltiplo de 4) e
isFinalBlock
étrue
. No .NET 7 e em versões anteriores, esse valor também pode indicar que a entrada tem caracteres inválidos ou mais de dois caracteres de preenchimento.