Freigeben über


XmlWriter.WriteBase64-Methode

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

Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public MustOverride Sub WriteBase64 ( _
    buffer As Byte(), _
    index As Integer, _
    count As Integer _
)
'Usage
Dim instance As XmlWriter
Dim buffer As Byte()
Dim index As Integer
Dim count As Integer

instance.WriteBase64(buffer, index, count)
public abstract void WriteBase64 (
    byte[] buffer,
    int index,
    int count
)
public:
virtual void WriteBase64 (
    array<unsigned char>^ buffer, 
    int index, 
    int count
) abstract
public abstract void WriteBase64 (
    byte[] buffer, 
    int index, 
    int count
)
public abstract function WriteBase64 (
    buffer : byte[], 
    index : int, 
    count : int
)

Parameter

  • buffer
    Zu codierendes Bytearray.
  • index
    Die Position innerhalb des Puffers, die den Anfang der zu schreibenden Bytes kennzeichnet.
  • count
    Die Anzahl der zu schreibenden Bytes.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

buffer ist NULL (Nothing in Visual Basic).

ArgumentException

Die Länge des Puffers minus index ist kleiner als count.

ArgumentOutOfRangeException

index oder count ist kleiner als 0 (null).

Hinweise

Der Bytepuffer kann z. B. den binären Inhalt eines GIF-Bilds enthalten. In diesem Fall würde es sich nicht um gültigen XML-Code handeln. Die Base64-Codierung wurde für die Darstellung willkürlicher Bytefolgen in einem aus den 65 US-ASCII-Zeichen ([A-Za-z0-9+/=]) bestehenden Textformat entwickelt, wobei jedes Zeichen 6 Bits binäre Daten codiert. Weitere Informationen finden Sie in der RFC 1521 (Requests for Comments) auf der Request for Comments-Website unter http://www.rfc-editor.org/ (nur auf Englisch verfügbar).

Beispiel

Im folgenden Beispiel werden Base64-Daten mithilfe der WriteBase64-Methode geschrieben. Die Base64-Daten werden in ein <image>-Element eingebettet.

Public Shared Sub Base64EncodeImageFile() 
    
    Dim bufferSize As Integer = 1000
    Dim buffer(bufferSize) As Byte
    Dim readBytes As Integer = 0
    
    Using writer As XmlWriter = XmlWriter.Create("output.xml")

            Dim inputFile As New FileStream("C:\artFiles\sunset.jpg", FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)
            writer.WriteStartDocument()
            writer.WriteStartElement("image")
            Dim br As New BinaryReader(inputFile)
            Console.WriteLine(vbCr + vbLf + "Writing Base64 data...")
            
            Do
                readBytes = br.Read(buffer, 0, bufferSize)
                writer.WriteBase64(buffer, 0, readBytes)
            Loop While bufferSize <= readBytes
            br.Close()
        
        writer.WriteEndElement() ' </image>
        writer.WriteEndDocument()

    End Using
 
End Sub 'Base64EncodeImageFile
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();
        
  }
}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlWriter-Klasse
XmlWriter-Member
System.Xml-Namespace

Weitere Ressourcen

Schreiben von XML mit dem "XmlWriter"