XmlWriter.WriteBase64(Byte[], Int32, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Saat ditimpa dalam kelas turunan, mengodekan byte biner yang ditentukan sebagai Base64 dan menulis teks yang dihasilkan.
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[]
Array byte untuk dikodekan.
- index
- Int32
Posisi dalam buffer yang menunjukkan awal byte untuk menulis.
- count
- Int32
Jumlah byte yang akan ditulis.
Pengecualian
buffer adalah null.
index atau count kurang dari nol.
-atau-
Panjang buffer minus index kurang dari count.
Metode XmlWriter dipanggil sebelum operasi asinkron sebelumnya selesai. Dalam hal ini, InvalidOperationException dilemparkan dengan pesan "Operasi asinkron sudah berlangsung."
Contoh
Contoh berikut menggunakan WriteBase64 metode untuk menulis Base64 data. Data Base64 disematkan dalam <image> elemen .
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
Keterangan
Misalnya, buffer byte mungkin berisi konten biner gambar GIF. Ini jelas tidak akan menjadi XML yang valid. Pengodean Base64 dirancang untuk mewakili urutan byte arbitrer dalam bentuk teks yang terdiri dari 65 karakter US-ASCII ([A-Za-z0-9+/=]) di mana setiap karakter mengodekan 6 bit data biner. Untuk informasi selengkapnya, lihat Permintaan Komentar (RFC) 1521 yang terletak di situs Web Permintaan Komentar.
Untuk versi asinkron dari metode ini, lihat WriteBase64Async.