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

Определение

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

public:
 virtual int TransformBlock(cli::array <System::Byte> ^ inputBuffer, int inputOffset, int inputCount, cli::array <System::Byte> ^ outputBuffer, int outputOffset);
public int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset);
abstract member TransformBlock : byte[] * int * int * byte[] * int -> int
override this.TransformBlock : byte[] * int * int * byte[] * int -> int
Public Function TransformBlock (inputBuffer As Byte(), inputOffset As Integer, inputCount As Integer, outputBuffer As Byte(), outputOffset As Integer) As Integer

Параметры

inputBuffer
Byte[]

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

inputOffset
Int32

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

inputCount
Int32

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

outputBuffer
Byte[]

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

outputOffset
Int32

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

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

Количество записанных байт.

Реализации

Исключения

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

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

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

–или–

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

Параметр inputBuffer имеет значение null.

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

Примеры

В следующем примере кода показано, как вызвать TransformBlock метод для итерации путем inputBytesblockSizeпреобразования. Этот пример кода является частью более крупного примера, предоставленного для 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);
}
Dim inputBlockSize As Integer = 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)
End While

Комментарии

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

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

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