ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Convierte la región especificada de la matriz de bytes de entrada a 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 para calcular en base 64.
- inputOffset
- Int32
Desplazamiento en la matriz de bytes de entrada a partir del cual se van a empezar a usar los datos.
- inputCount
- Int32
Número de bytes de la matriz de bytes de entrada que se van a usar como datos.
- outputBuffer
- Byte[]
Salida en la que se escribe el resultado.
- outputOffset
- Int32
Desplazamiento en la matriz de bytes de salida a partir del cual se van a empezar a escribir los datos.
Devoluciones
El número de bytes escritos.
Implementaciones
Excepciones
El objeto ToBase64Transform actual ya se ha desechado.
El tamaño de los datos no es válido.
El parámetro inputBuffer
contiene una longitud de desplazamiento no válida.
o bien
El parámetro inputCount
contiene un valor no válido.
El parámetro inputBuffer
es null
.
El parámetro inputBuffer
requiere un número no negativo.
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 es parte de un ejemplo más grande proporcionado para la clase 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 );
}
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.