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