Прочитать на английском

Поделиться через


ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Метод

Определение

Преобразует указанный регион входного массива байтов в базу 64 и копирует результат в указанный регион выходного массива байтов.

public int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset);

Параметры

inputBuffer
Byte[]

Входные данные для вычисления до base 64.

inputOffset
Int32

Смещение в входной массив байтов, с которого начинается использование данных.

inputCount
Int32

Количество байтов в входном массиве байтов, используемых в качестве данных.

outputBuffer
Byte[]

Выходные данные, в которые нужно записать результат.

outputOffset
Int32

Смещение в выходной массив байтов, из которого начинается запись данных.

Возвращаемое значение

Число записанных байтов.

Реализации

Исключения

Текущий объект ToBase64Transform уже удален.

Недопустимый размер данных.

Параметр inputOffset содержит недопустимую длину смещения.

-или-

Параметр inputCount содержит недопустимое значение.

Параметр inputBuffernull.

Для параметра inputCount требуется не отрицательное число и меньше или равное длине inputBuffer.

Примеры

В следующем примере кода показано, как вызвать метод TransformBlock для итерации путем преобразования inputBytes путем blockSize. Этот пример кода является частью более крупного примера, предоставленного для класса ToBase64Transform.

int inputBlockSize = base64Transform.InputBlockSize;

while(inputBytes.Length - inputOffset > inputBlockSize)
{
    base64Transform.TransformBlock(
        inputBytes,
        inputOffset,
        inputBytes.Length - inputOffset,
        outputBytes,
        0);

    inputOffset += base64Transform.InputBlockSize;
    outputFileStream.Write(
        outputBytes, 
        0, 
        base64Transform.OutputBlockSize);
}

Комментарии

Класс ToBase64Transform — это алгоритм блока, который обрабатывает входные блоки 3 байта и создает выходные блоки размером 4 байта. Метод TransformBlock преобразует входной блок 24 бита в 32 бита символьных данных. Для сопоставления преобразования блока необходимо поддерживать 3 байтовые границы входных данных до 4 байтов.

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

См. также раздел