Base64.DecodeFromUtf8 Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Декодирует диапазон текста UTF-8, представленного в кодировке Base64, в двоичные данные. Если размер исходных данных не кратен 4, декодируется максимально возможный объем текста до ближайшего кратного 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
Параметры
- utf8
- ReadOnlySpan<Byte>
Исходный диапазон, который содержит текст UTF-8 в кодировке Base64, предназначенный для декодирования.
Целевой диапазон, который содержит результат операции, то есть декодированные двоичные данные.
- bytesConsumed
- Int32
При возврате этого метода содержит количество входных байтов, используемых во время операции. Если потребуется, так можно отделить сегмент исходных данных для последующих вызовов.
- bytesWritten
- Int32
При возврате этого метода содержит количество байтов, записанных в выходной диапазон. Если потребуется, так можно отделить сегмент выходных данных для последующих вызовов.
- isFinalBlock
- Boolean
true
(по умолчанию), чтобы указать, что входной диапазон содержит все данные для декодирования.
false
значение , чтобы указать, что входной диапазон содержит частичные данные с дополнительными данными.
Возвращаемое значение
Одно из значений перечисления, которое указывает результат выполнения операции декодирования.
Комментарии
Возвращаемое значение может быть следующим:
- OperationStatus.Done: обработка всего входного диапазона выполнена успешно.
- OperationStatus.DestinationTooSmall: в выходном диапазоне недостаточно места для записи декодированных входных данных.
-
OperationStatus.NeedMoreData:
isFinalBlock
имеет значениеfalse
, а входные данные не кратно 4. В противном случае частичные входные данные считаются InvalidData. -
OperationStatus.InvalidData: входные данные содержат байты за пределами ожидаемого диапазона base 64 или являются неполными (т. е. не кратными 4) и
isFinalBlock
имеют значениеtrue
. В .NET 7 и более ранних версиях это значение также может указывать на то, что входные данные имеют недопустимые или более двух символов заполнения.