Class ByteOrderMark

java.lang.Object
org.apache.commons.io.ByteOrderMark
All Implemented Interfaces:
Serializable

public class ByteOrderMark extends Object implements Serializable
Byte Order Mark (BOM) representation. See BOMInputStream.

We define the follow BOM constants:

Deprecating Serialization

Serialization is deprecated and will be removed in 3.0.

Since:
2.0
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final ByteOrderMark
    UTF-16BE BOM (Big-Endian).
    static final ByteOrderMark
    UTF-16LE BOM (Little-Endian).
    static final ByteOrderMark
    UTF-32BE BOM (Big-Endian).
    static final ByteOrderMark
    UTF-32LE BOM (Little-Endian).
    static final ByteOrderMark
    UTF-8 BOM.
    static final char
    Unicode BOM character; external form depends on the encoding.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ByteOrderMark(String charsetName, int... bytes)
    Constructs a new instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Indicates if this instance's bytes equals another.
    int
    get(int pos)
    Gets the byte at the specified position.
    byte[]
    Gets a copy of the BOM's bytes.
    Gets the name of the Charset the BOM represents.
    int
    Computes the hash code for this BOM.
    int
    Gets the length of the BOM's bytes.
    boolean
    matches(int[] test)
    Tests whether the given array starts with the bytes for this BOM.
    Converts this instance to a String representation of the BOM.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • UTF_8

      public static final ByteOrderMark UTF_8
      UTF-8 BOM.

      This BOM is:

       0xEF 0xBB 0xBF
       
    • UTF_16BE

      public static final ByteOrderMark UTF_16BE
      UTF-16BE BOM (Big-Endian).

      This BOM is:

       0xFE 0xFF
       
    • UTF_16LE

      public static final ByteOrderMark UTF_16LE
      UTF-16LE BOM (Little-Endian).

      This BOM is:

       0xFF 0xFE
       
    • UTF_32BE

      public static final ByteOrderMark UTF_32BE
      UTF-32BE BOM (Big-Endian).

      This BOM is:

       0x00 0x00 0xFE 0xFF
       
      Since:
      2.2
    • UTF_32LE

      public static final ByteOrderMark UTF_32LE
      UTF-32LE BOM (Little-Endian).

      This BOM is:

       0xFF 0xFE 0x00 0x00
       
      Since:
      2.2
    • UTF_BOM

      public static final char UTF_BOM
      Unicode BOM character; external form depends on the encoding.
      Since:
      2.5
      See Also:
  • Constructor Details

    • ByteOrderMark

      public ByteOrderMark(String charsetName, int... bytes)
      Constructs a new instance.
      Parameters:
      charsetName - The name of the charset the BOM represents
      bytes - The BOM's bytes
      Throws:
      IllegalArgumentException - if the charsetName is zero length
      IllegalArgumentException - if the bytes are zero length
  • Method Details

    • equals

      public boolean equals(Object obj)
      Indicates if this instance's bytes equals another.
      Overrides:
      equals in class Object
      Parameters:
      obj - The object to compare to
      Returns:
      true if the bom's bytes are equal, otherwise false
    • get

      public int get(int pos)
      Gets the byte at the specified position.
      Parameters:
      pos - The position
      Returns:
      The specified byte
    • getBytes

      public byte[] getBytes()
      Gets a copy of the BOM's bytes.
      Returns:
      a copy of the BOM's bytes
    • getCharsetName

      public String getCharsetName()
      Gets the name of the Charset the BOM represents.
      Returns:
      the character set name
    • hashCode

      public int hashCode()
      Computes the hash code for this BOM.
      Overrides:
      hashCode in class Object
      Returns:
      the hash code for this BOM.
      See Also:
    • length

      public int length()
      Gets the length of the BOM's bytes.
      Returns:
      the length of the BOM's bytes
    • matches

      public boolean matches(int[] test)
      Tests whether the given array starts with the bytes for this BOM.
      Parameters:
      test - the array to test.
      Returns:
      whether the given array starts with the bytes for this BOM.
      Since:
      2.19.0
    • toString

      public String toString()
      Converts this instance to a String representation of the BOM.
      Overrides:
      toString in class Object
      Returns:
      the length of the BOM's bytes