Lire en anglais

Partager via


XmlWriter.WriteBase64(Byte[], Int32, Int32) Méthode

Définition

En cas de substitution dans une classe dérivée, code les octets binaires spécifiés au format Base64 et écrit le texte obtenu.

C#
public abstract void WriteBase64(byte[] buffer, int index, int count);

Paramètres

buffer
Byte[]

Tableau d'octets à encoder.

index
Int32

Emplacement dans la mémoire tampon indiquant le début des octets à écrire.

count
Int32

Nombre d'octets à écrire.

Exceptions

buffer a la valeur null.

index ou count est inférieur à zéro.

- ou -

La longueur de la mémoire tampon moins index est inférieure à count.

Une méthode XmlWriter a été appelée avant la fin d’une opération asynchrone précédente. Dans ce cas, l’exception InvalidOperationException est levée avec le message « Une opération asynchrone est déjà en cours ».

Exemples

L’exemple suivant utilise la WriteBase64 méthode pour écrire Base64 des données. Les Base64 données sont incorporées dans un <image> élément.

C#

public static void Base64EncodeImageFile() {

  int bufferSize = 1000;
  byte[] buffer = new byte[bufferSize];
  int readBytes = 0;
    
  using (XmlWriter writer = XmlWriter.Create("output.xml")) {

       FileStream inputFile = new FileStream(@"C:\artFiles\sunset.jpg",
                                                                    FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read);
       writer.WriteStartDocument();
       writer.WriteStartElement("image");
       BinaryReader br = new BinaryReader(inputFile);
       Console.WriteLine("\r\nWriting Base64 data...");

       do {
          readBytes = br.Read(buffer, 0, bufferSize);
          writer.WriteBase64(buffer, 0, readBytes);
       } while (bufferSize <= readBytes);
       br.Close();
        
    writer.WriteEndElement();// </image>
    writer.WriteEndDocument();
  }
}

Remarques

Par exemple, la mémoire tampon d’octets peut contenir le contenu binaire d’une image GIF. Il ne s’agit clairement pas d’un code XML valide. L’encodage Base64 est conçu pour représenter des séquences d’octets arbitraires dans une forme de texte composée des 65 caractères US-ASCII ([A-Za-z0-9+/=]) où chaque caractère encode 6 bits des données binaires. Pour plus d’informations, consultez Demandes de commentaires (RFC) 1521 sur le site Web Des demandes de commentaires.

Pour obtenir la version asynchrone de cette méthode, consultez WriteBase64Async.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0