XmlWriter.WriteBase64(Byte[], Int32, Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Codiert beim Überschreiben in einer abgeleiteten Klasse die angegebenen binären Bytes als Base64 und schreibt den resultierenden Text.
public:
abstract void WriteBase64(cli::array <System::Byte> ^ buffer, int index, int count);
public abstract void WriteBase64 (byte[] buffer, int index, int count);
abstract member WriteBase64 : byte[] * int * int -> unit
Public MustOverride Sub WriteBase64 (buffer As Byte(), index As Integer, count As Integer)
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.
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();
}
}
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
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.