Android
java.nio.charset
public abstract class

java.nio.charset.Charset

java.lang.Object
java.nio.charset.Charset Comparable<T>

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.

See Also

Summary

Protected Constructors

            Charset(String canonicalName, String[] aliases)
Constructs a Charset object.

Public Methods

    final      Set<String aliases()
Gets the set of this charset's aliases.
      static    SortedMap<StringCharset availableCharsets()
Gets a map of all available charsets supported by the runtime.
          boolean  canEncode()
Returns true if this charset supports encoding, otherwise false.
    final      int  compareTo(Charset charset)
Compares this charset with the given charset.
abstract          boolean  contains(Charset charset)
Determines whether this charset is a super set of the given charset.
    final      CharBuffer  decode(ByteBuffer buffer)
Decodes the content of the give byte buffer and outputs to a character buffer that is to be returned.
      static    Charset  defaultCharset()
Gets the system default charset from jvm.
          String  displayName()
Gets the name of this charset for the default locale.
          String  displayName(Locale l)
Gets the name of this charset for the specified locale.
  synchronized  final      ByteBuffer  encode(CharBuffer buffer)
Encodes the content of the give character buffer and outputs to a byte buffer that is to be returned.
    final      ByteBuffer  encode(String s)
Encodes a string and outputs to a byte buffer that is to be returned.
    final      boolean  equals(Object obj)
Determines whether this charset equals to the given object.
      static    Charset  forName(String charsetName)
Gets a Charset instance for the specified charset name.
    final      int  hashCode()
Gets the hash code of this charset.
    final      boolean  isRegistered()
Returns whether this charset is known to be registered in the IANA Charset Registry.
      static    boolean  isSupported(String charsetName)
Determines whether the specified charset is supported by this runtime.
    final      String  name()
Gets the canonical name of this charset.
abstract          CharsetDecoder  newDecoder()
Gets a new instance of decoder for this charset.
abstract          CharsetEncoder  newEncoder()
Gets a new instance of encoder for this charset.
    final      String  toString()
Gets a string representation of this charset.
Methods inherited from class java.lang.Object
Methods inherited from interface java.lang.Comparable

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

Throws

IllegalCharsetNameException on an illegal value being supplied for either canonicalName or for any element of aliases.

Public Methods

public final Set<String> aliases()

Gets the set of this charset's aliases.

Returns

  • an unmodifiable set of this charset's aliases

public static SortedMap<StringCharset> availableCharsets()

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.

Returns

  • true

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.

Parameters

charset a given charset

Returns

  • true if this charset is a super set of the given charset, otherwise false

public final CharBuffer decode(ByteBuffer buffer)

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.

Returns

  • the default charset

public String displayName()

Gets the name of this charset for the default locale.

Returns

  • the name of this charset for the default locale

public String displayName(Locale l)

Gets the name of this charset for the specified locale.

Parameters

l a certain 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

public final ByteBuffer encode(String s)

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

Throws

IllegalCharsetNameException If the specified charset name is illegal.
UnsupportedCharsetException If the desired charset is not supported by this runtime.

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

Throws

IllegalCharsetNameException If the specified charset name is illegal.

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
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48