Leer en inglés

Compartir vía


XmlWriter.WriteBase64(Byte[], Int32, Int32) Método

Definición

Cuando se invalida en una clase derivada, codifica los bytes binarios especificados en Base64 y escribe el texto resultante.

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

Parámetros

buffer
Byte[]

Matriz de bytes que se va a codificar.

index
Int32

Posición en el búfer que indica el inicio de los bytes que se van a escribir.

count
Int32

Número de bytes que se van a escribir.

Excepciones

buffer es null.

index o count es menor que cero.

o bien

La longitud del búfer menos index es menor que count.

Se llamó un método XmlWriter antes de que se termine una operación asincrónica anterior. En este caso, se genera InvalidOperationException con el mensaje “Ya hay una operación asincrónica en curso”.

Ejemplos

En el ejemplo siguiente se usa el WriteBase64 método para escribir Base64 datos. Los Base64 datos se incrustan dentro de un <image> elemento .

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

Comentarios

Por ejemplo, el búfer de bytes puede contener el contenido binario de una imagen GIF. Esto claramente no sería XML válido. La Base64 codificación está diseñada para representar secuencias de bytes arbitrarias en un formato de texto formado por los 65 caracteres US-ASCII ([A-Za-z0-9+/=]) donde cada carácter codifica 6 bits de los datos binarios. Para obtener más información, vea Solicitudes de comentarios (RFC) 1521 que se encuentra en el sitio web solicitud de comentarios.

Para obtener la versión asincrónica de este método, vea WriteBase64Async.

Se aplica a

Producto Versiones
.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