Package org.apache.commons.io
Class ByteOrderMark
- java.lang.Object
-
- org.apache.commons.io.ByteOrderMark
-
- All Implemented Interfaces:
java.io.Serializable
public class ByteOrderMark extends java.lang.Object implements java.io.Serializable
Byte Order Mark (BOM) representation. SeeBOMInputStream
.We define the follow BOM constants:
Deprecating Serialization
Serialization is deprecated and will be removed in 3.0.
-
-
Field Summary
Fields Modifier and Type Field Description static ByteOrderMark
UTF_16BE
UTF-16BE BOM (Big-Endian).static ByteOrderMark
UTF_16LE
UTF-16LE BOM (Little-Endian).static ByteOrderMark
UTF_32BE
UTF-32BE BOM (Big-Endian).static ByteOrderMark
UTF_32LE
UTF-32LE BOM (Little-Endian).static ByteOrderMark
UTF_8
UTF-8 BOM.static char
UTF_BOM
Unicode BOM character; external form depends on the encoding.
-
Constructor Summary
Constructors Constructor Description ByteOrderMark(java.lang.String charsetName, int... bytes)
Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
Indicates if this instance's bytes equals another.int
get(int pos)
Gets the byte at the specified position.byte[]
getBytes()
Gets a copy of the BOM's bytes.java.lang.String
getCharsetName()
Gets the name of theCharset
the BOM represents.int
hashCode()
Computes the hash code for this BOM.int
length()
Gets the length of the BOM's bytes.java.lang.String
toString()
Converts this instance to a String representation of the BOM.
-
-
-
Field Detail
-
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:
- Byte Order Mark (BOM) FAQ, Constant Field Values
-
-
Constructor Detail
-
ByteOrderMark
public ByteOrderMark(java.lang.String charsetName, int... bytes)
Constructs a new instance.- Parameters:
charsetName
- The name of the charset the BOM representsbytes
- The BOM's bytes- Throws:
java.lang.IllegalArgumentException
- if the charsetName is zero lengthjava.lang.IllegalArgumentException
- if the bytes are zero length
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object obj)
Indicates if this instance's bytes equals another.- Overrides:
equals
in classjava.lang.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 java.lang.String getCharsetName()
Gets the name of theCharset
the BOM represents.- Returns:
- the character set name
-
hashCode
public int hashCode()
Computes the hash code for this BOM.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- the hash code for this BOM.
- See Also:
Object.hashCode()
-
length
public int length()
Gets the length of the BOM's bytes.- Returns:
- the length of the BOM's bytes
-
toString
public java.lang.String toString()
Converts this instance to a String representation of the BOM.- Overrides:
toString
in classjava.lang.Object
- Returns:
- the length of the BOM's bytes
-
-