Partager via


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

Définition

Convertit la région spécifiée du tableau d’octets d’entrée en base 64 et copie le résultat dans la région spécifiée du tableau d’octets de sortie.

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

Paramètres

inputBuffer
Byte[]

Entrée de calcul à base 64.

inputOffset
Int32

Décalage dans le tableau d’octets d’entrée à partir duquel commencer à utiliser des données.

inputCount
Int32

Nombre d’octets dans le tableau d’octets d’entrée à utiliser comme données.

outputBuffer
Byte[]

Sortie dans laquelle écrire le résultat.

outputOffset
Int32

Décalage dans le tableau d’octets de sortie à partir duquel commencer l’écriture de données.

Retours

Nombre d’octets écrits.

Implémente

Exceptions

L’objet ToBase64Transform actuel a déjà été supprimé.

La taille des données n’est pas valide.

Le paramètre inputOffset contient une longueur de décalage non valide.

-ou-

Le paramètre inputCount contient une valeur non valide.

Le paramètre inputBuffer est null.

Le paramètre inputCount nécessite un nombre non négatif et inférieur ou égal à la longueur de inputBuffer.

Exemples

L’exemple de code suivant montre comment appeler la méthode TransformBlock pour itérer à travers inputBytes transformation par blockSize. Cet exemple de code fait partie d’un exemple plus large fourni pour 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 );
}
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

Remarques

La classe ToBase64Transform est un algorithme de bloc qui traite les blocs d’entrée de 3 octets et crée des blocs de sortie de 4 octets. La méthode TransformBlock transforme un bloc d’entrée de 24 bits en 32 bits de données caractères. Vous devez conserver les limites d’entrée de 3 octets sur 4 limites de sortie d’octets pour qu’elles correspondent à la transformation de bloc.

S’applique à

Voir aussi

  • des services de chiffrement