XmlWriter.WriteBinHex(Byte[], Int32, Int32) Method

Definition

When overridden in a derived class, encodes the specified binary bytes as BinHex and writes out the resulting text.

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

Parameters

buffer
Byte[]

Byte array to encode.

index
Int32

The position in the buffer indicating the start of the bytes to write.

count
Int32

The number of bytes to write.

Exceptions

buffer is null.

The writer is closed or in error state. -or-

An XmlWriter method was called before a previous asynchronous operation finished. In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

index or count is less than zero.

-or-

The buffer length minus index is less than count.

Examples

The following example uses the WriteBinHex method to write BinHex data. The BinHex data is embedded within an <image> element.

C#

public static void BinHexEncodeImageFile() {

  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 BinHex data...");

       do {
          readBytes = br.Read(buffer, 0, bufferSize);
          writer.WriteBinHex(buffer, 0, readBytes);
       } while (bufferSize <= readBytes);
       br.Close();

    writer.WriteEndElement();// </image>
    writer.WriteEndDocument();
  }
}

Remarks

For the asynchronous version of this method, see WriteBinHexAsync.

Applies to

제품 버전
.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
.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