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 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.