ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Converte l'area specificata della matrice di byte di input in base 64 e copia il risultato nell'area specificata della matrice di byte di output.
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
Parametri
- inputBuffer
- Byte[]
Input da calcolare in base 64.
- inputOffset
- Int32
Offset nella matrice di byte di input da cui iniziare a usare i dati.
- inputCount
- Int32
Numero di byte nella matrice di byte di input da usare come dati.
- outputBuffer
- Byte[]
Output in cui scrivere il risultato.
- outputOffset
- Int32
Offset nella matrice di byte di output da cui iniziare la scrittura dei dati.
Restituisce
Numero di byte scritti.
Implementazioni
Eccezioni
L'oggetto ToBase64Transform corrente è già stato eliminato.
Le dimensioni dei dati non sono valide.
Il parametro inputOffset contiene una lunghezza di offset non valida.
-o-
Il parametro inputCount contiene un valore non valido.
Il parametro inputBuffer è null.
Il parametro inputCount richiede un numero non negativo e minore o uguale alla lunghezza di inputBuffer.
Esempio
Nell'esempio di codice seguente viene illustrato come chiamare il metodo TransformBlock per scorrere inputBytes trasformazione tramite blockSize. Questo esempio di codice fa parte di un esempio più ampio fornito per la classe 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
Commenti
La classe ToBase64Transform è un algoritmo a blocchi che elabora blocchi di input di 3 byte e crea blocchi di output di 4 byte. Il metodo TransformBlock trasforma un blocco di input di 24 bit in 32 bit di dati di tipo carattere. È necessario mantenere 3 limiti di input di byte a 4 limiti di output di byte per trovare la corrispondenza con la trasformazione del blocco.