java.nio.charset
public
abstract
class
java.nio.charset.Charset
A charset defines a mapping between a Unicode character sequence and a byte
sequence. It facilitate the encoding from a Unicode character sequence into a
byte sequence, and the decoding from a byte sequence into a Unicode character
sequence.
A charset has a canonical name, which are usually in uppercase. Typically it
also has one or more aliases. The name string can only consist of the
following characters: '0' - '9', 'A' - 'Z', 'a' - 'z', '.', ':'. '-' and '_'.
The first character of the name must be a digit or a letter.
The following charsets should be supported by any java platforms: US-ASCII,
ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE, UTF-16.
Additional charsets can be made available by configuring one or more charset
providers through provider configuration files. Such files are always named
as "java.nio.charset.spi.CharsetProvider" and located in the
"META-INF/services" sub folder of one or more classpaths. The files should be
encoded in "UTF-8". Each line of their content specifies the class name of a
charset provider which extends java.nio.spi.CharsetProvider
.
A line should ends with '\r', '\n' or '\r\n'. Leading and trailing
whitespaces are trimmed. Blank lines, and lines (after trimmed) starting with
"#" which are regarded as comments, are both ignored. Duplicates of already
appeared names are also ignored. Both the configuration files and the
provider classes will be loaded using the thread context class loader.
This class is thread-safe.
Summary
Protected Constructors
Public Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Protected Constructors
protected
Charset(String canonicalName, String[] aliases)
Constructs a
Charset
object. Duplicated aliases are
ignored.
Parameters
canonicalName
| the canonical name of the charset |
aliases
| an array containing all aliases of the charset |
Public Methods
public
final
Set<String>
aliases()
Gets the set of this charset's aliases.
Returns
- an unmodifiable set of this charset's aliases
Gets a map of all available charsets supported by the runtime.
The returned map contains mappings from canonical names to corresponding
instances of Charset
. The canonical names can be
considered as case-insensitive.
Returns
- an unmodifiable map of all available charsets supported by the
runtime
public
boolean
canEncode()
Returns true if this charset supports encoding, otherwise false.
public
final
int
compareTo(Charset charset)
Compares this charset with the given charset.
Parameters
charset
| the given object to be compared with |
Returns
- a negative integer if less than the given object, a positive
integer if larger than it, or 0 if equal to it
public
abstract
boolean
contains(Charset charset)
Determines whether this charset is a super set of the given charset.
Returns
- true if this charset is a super set of the given charset,
otherwise false
Decodes the content of the give byte buffer and outputs to a character
buffer that is to be returned.
The default action in case of decoding errors is
CodingErrorAction.REPLACE
.
Parameters
buffer
| the byte buffer containing the content to be decoded |
Returns
- a character buffer containing the output of the decoding
public
static
Charset
defaultCharset()
Gets the system default charset from jvm.
public
String
displayName()
Gets the name of this charset for the default locale.
Returns
- the name of this charset for the default locale
Gets the name of this charset for the specified locale.
Returns
- the name of this charset for the specified locale
public
final
synchronized
ByteBuffer
encode(CharBuffer buffer)
Encodes the content of the give character buffer and outputs to a byte
buffer that is to be returned.
The default action in case of encoding errors is
CodingErrorAction.REPLACE
.
Parameters
buffer
| the character buffer containing the content to be encoded |
Returns
- the result of the encoding
Encodes a string and outputs to a byte buffer that is to be returned.
The default action in case of encoding errors is
CodingErrorAction.REPLACE
.
Parameters
s
| the string to be encoded |
Returns
- the result of the encoding
public
final
boolean
equals(Object obj)
Determines whether this charset equals to the given object. They are
considered to be equal if they have the same canonical name.
Parameters
obj
| the given object to be compared with |
Returns
- true if they have the same canonical name, otherwise false
public
static
Charset
forName(String charsetName)
Gets a
Charset
instance for the specified charset name.
Parameters
charsetName
| the name of the charset |
Returns
- a
Charset
instance for the specified charset name
public
final
int
hashCode()
Gets the hash code of this charset.
Returns
- the hash code of this charset
public
final
boolean
isRegistered()
Returns whether this charset is known to be registered in the IANA
Charset Registry.
Returns
- true if the charset is known to be registered, otherwise returns
false.
public
static
boolean
isSupported(String charsetName)
Determines whether the specified charset is supported by this runtime.
Parameters
charsetName
| the name of the charset |
Returns
- true if the specified charset is supported, otherwise false
public
final
String
name()
Gets the canonical name of this charset.
Returns
- this charset's name in canonical form.
public
abstract
CharsetDecoder
newDecoder()
Gets a new instance of decoder for this charset.
Returns
- a new instance of decoder for this charset
public
abstract
CharsetEncoder
newEncoder()
Gets a new instance of encoder for this charset.
Returns
- a new instance of encoder for this charset
public
final
String
toString()
Gets a string representation of this charset. Usually this contains the
canonical name of the charset.
Returns
- a string representation of this charset