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 à calculer en base 64.

inputOffset
Int32

Offset dans le tableau d'octets d'entrée à partir duquel l'utilisation des données commence.

inputCount
Int32

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

outputBuffer
Byte[]

Sortie dans laquelle le résultat doit être écrit.

outputOffset
Int32

Offset dans le tableau d'octets de sortie à partir duquel l'écriture des données commence.

Retours

Nombre d’octets écrits.

Implémente

Exceptions

L'objet ToBase64Transform actif a déjà été supprimé.

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

Le paramètre inputBuffer contient une longueur d'offset non valide.

- ou -

Le paramètre inputCount contient une valeur non valide.

Le paramètre inputBuffer a la valeur null.

Le paramètre inputBuffer requiert un nombre non négatif.

Exemples

L’exemple de code suivant montre comment appeler la TransformBlock méthode pour itérer au sein inputBytes de la transformation par blockSize. Cet exemple de code fait partie d’un exemple plus grand fourni pour la ToBase64Transform classe .

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 ToBase64Transform classe 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 TransformBlock méthode transforme un bloc d’entrée de 24 bits en 32 bits de données de caractères. Vous devez conserver des limites d’entrée de 3 octets à des limites de sortie de 4 octets afin de correspondre à la transformation de bloc.

S’applique à

Voir aussi