Auf Englisch lesen

Freigeben über


XmlWriter.WriteBase64(Byte[], Int32, Int32) Methode

Definition

Codiert beim Überschreiben in einer abgeleiteten Klasse die angegebenen binären Bytes als Base64 und schreibt den resultierenden Text.

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

Parameter

buffer
Byte[]

Zu codierendes Bytearray.

index
Int32

Die Position innerhalb des Puffers, die den Anfang der zu schreibenden Bytes kennzeichnet.

count
Int32

Die Anzahl der zu schreibenden Bytes.

Ausnahmen

buffer ist null.

index oder count ist kleiner als 0.

- oder -

Die Pufferlänge minus index ist kleiner als count.

Eine XmlWriter-Methode wurde aufgerufen, bevor ein vorheriger asynchroner Vorgang abgeschlossen wurde. In diesem Fall wird InvalidOperationException mit der Meldung „Es wird bereits ein asynchroner Vorgang ausgeführt“ ausgelöst.

Beispiele

Im folgenden Beispiel wird die WriteBase64 -Methode zum Schreiben Base64 von Daten verwendet. Die Base64 Daten werden in ein <image> Element eingebettet.

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();
  }
}

Hinweise

Beispielsweise kann der Bytepuffer den binären Inhalt eines GIF-Bilds enthalten. Dies wäre eindeutig kein gültiger XML-Code. Die Base64 Codierung ist so konzipiert, dass sie beliebige Bytesequenzen in einer Textform darstellt, die aus den 65 US-ASCII-Zeichen ([A-Za-z0-9+/=]) besteht, wobei jedes Zeichen 6 Bits der Binärdaten codiert. Weitere Informationen finden Sie unter Anforderungen für Kommentare (RFC) 1521 auf der Website Anforderung für Kommentare.

Die asynchrone Version dieser Methode finden Sie unter WriteBase64Async.

Gilt für:

Produkt Versionen
.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