XmlWriter.WriteBase64(Byte[], Int32, Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Quando ne viene eseguito l'override in una classe derivata, codifica i byte binari specificati come valori Base64 e scrive il testo risultante.
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)
Parametri
- buffer
- Byte[]
Matrice di byte da codificare.
- index
- Int32
Posizione nel buffer che indica l'inizio dei byte da scrivere.
- count
- Int32
Numero di byte da scrivere.
Eccezioni
buffer
è null
.
index
o count
è minore di zero.
-oppure-
La lunghezza del buffer meno index
è minore di count
.
È stato chiamato un metodo della classe XmlWriter prima del completamento di un'operazione asincrona precedente. In questo caso, viene generata l'eccezione InvalidOperationException con il messaggio "È già in corso un'operazione asincrona".
Esempio
Nell'esempio seguente viene utilizzato il WriteBase64 metodo per scrivere Base64
dati. I Base64
dati vengono incorporati all'interno di un <image>
elemento.
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
Commenti
Ad esempio, il buffer di byte può contenere il contenuto binario di un'immagine GIF. Questo non sarebbe chiaramente un codice XML valido. La Base64
codifica è progettata per rappresentare sequenze di byte arbitrarie in un formato di testo costituito da 65 caratteri US-ASCII ([A-Za-z0-9+/=]) in cui ogni carattere codifica 6 bit dei dati binari. Per altre informazioni, vedere Richieste di commenti (RFC) 1521 disponibili nel sito Web Richiesta di commenti.
Per la versione asincrona di questo metodo, vedere WriteBase64Async.