ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Método

Definición

Convierte la región especificada de la matriz de bytes de entrada en base 64 y copia el resultado en la región especificada de la matriz de bytes de salida.

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

Parámetros

inputBuffer
Byte[]

Entrada que se va a calcular en base 64.

inputOffset
Int32

Desplazamiento en la matriz de bytes de entrada desde la que se van a empezar a usar datos.

inputCount
Int32

Número de bytes de la matriz de bytes de entrada que se va a usar como datos.

outputBuffer
Byte[]

Salida en la que se va a escribir el resultado.

outputOffset
Int32

Desplazamiento en la matriz de bytes de salida desde la que se van a empezar a escribir datos.

Devoluciones

El número de bytes escritos.

Implementaciones

Excepciones

El objeto actual ToBase64Transform ya se ha eliminado.

El tamaño de los datos no es válido.

El inputOffset parámetro contiene una longitud de desplazamiento no válida.

O bien

El inputCount parámetro contiene un valor no válido.

El inputBuffer parámetro es null.

El inputCount parámetro requiere un número no negativo y menor o igual que la longitud de inputBuffer.

Ejemplos

En el ejemplo de código siguiente se muestra cómo llamar al TransformBlock método para iterar mediante inputBytes la transformación mediante blockSize. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la ToBase64Transform clase .

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

Comentarios

La ToBase64Transform clase es un algoritmo de bloque que procesa bloques de entrada de 3 bytes y crea bloques de salida de 4 bytes. El TransformBlock método transforma un bloque de entrada de 24 bits en 32 bits de datos de caracteres. Debe mantener 3 límites de entrada de bytes en 4 límites de salida de bytes para que coincidan con la transformación de bloque.

Se aplica a

Consulte también