ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.