Package org.apache.commons.io

# Class Charsets

java.lang.Object
org.apache.commons.io.Charsets

public class Charsets extends Object
Charsets required of every implementation of the Java platform. From the Java documentation Standard charsets:

Every implementation of the Java platform is required to support the following character encodings. Consult the release documentation for your implementation to see if any other encodings are supported. Consult the release documentation for your implementation to see if any other encodings are supported.

Standard Charsets
Charset | Description
--- | ---
`US-ASCII` | Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character set.
`ISO-8859-1` | ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1.
`UTF-8` | Eight-bit Unicode Transformation Format.
`UTF-16BE` | Sixteen-bit Unicode Transformation Format, big-endian byte order.
`UTF-16LE` | Sixteen-bit Unicode Transformation Format, little-endian byte order.
`UTF-16` | Sixteen-bit Unicode Transformation Format, byte order specified by a mandatory initial byte-order mark (either order accepted on input, big-endian used on output.)

Since:
  2.3
See Also:
  - Standard charsets

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Charset`
  `ISO_8859_1`
  Deprecated.
  Use `StandardCharsets.ISO_8859_1`.
  `static final Charset`
  `US_ASCII`
  Deprecated.
  Use `StandardCharsets.US_ASCII`.
  `static final Charset`
  `UTF_16`
  Deprecated.
  Use `StandardCharsets.UTF_16`.
  `static final Charset`
  `UTF_16BE`
  Deprecated.
  Use `StandardCharsets.UTF_16BE`.
  `static final Charset`
  `UTF_16LE`
  Deprecated.
  Use `StandardCharsets.UTF_16LE`.
  `static final Charset`
  `UTF_8`
  Deprecated.
  Use `StandardCharsets.UTF_8`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Charsets()`
  Deprecated.
  Will be private in 3.0.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static boolean`
  `isAlias(Charset charset, String charsetName)`
  Tests whether the given non-null Charset has an alias of the given name.
  `static boolean`
  `isUTF8(Charset charset)`
  Tests whether a given encoding is UTF-8.
  `static SortedMap<String,Charset>`
  `requiredCharsets()`
  Constructs a sorted map from canonical charset names to charset objects required of every implementation of the Java platform.
  `static Charset`
  `toCharset(String charsetName)`
  Returns a Charset for the named charset.
  `static Charset`
  `toCharset(String charsetName, Charset defaultCharset)`
  Returns a Charset for the named charset.
  `static Charset`
  `toCharset(Charset charset)`
  Returns the given Charset or the `default Charset` if the given Charset is null.
  `static Charset`
  `toCharset(Charset charset, Charset defaultCharset)`
  Returns the given charset if non-null, otherwise return defaultCharset.
  `static Charset`
  `toCharsetDefault(String charsetName, Charset defaultCharset)`
  Returns a Charset for the named charset or the `defaultCharset`.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### ISO_8859_1

    @Deprecated public static final Charset ISO_8859_1
    Deprecated.
    Use `StandardCharsets.ISO_8859_1`.
    CharEncodingISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1.

    Every implementation of the Java platform is required to support this character encoding.

    See Also:
      - Standard charsets

  - ### US_ASCII

    @Deprecated public static final Charset US_ASCII
    Deprecated.
    Use `StandardCharsets.US_ASCII`.

    Seven-bit ASCII, also known as ISO646-US, also known as the Basic Latin block of the Unicode character set.

    Every implementation of the Java platform is required to support this character encoding.

    See Also:
      - Standard charsets

  - ### UTF_16

    @Deprecated public static final Charset UTF_16
    Deprecated.
    Use `StandardCharsets.UTF_16`.

    Sixteen-bit Unicode Transformation Format, The byte order specified by a mandatory initial byte-order mark (either order accepted on input, big-endian used on output)

    Every implementation of the Java platform is required to support this character encoding.

    See Also:
      - Standard charsets

  - ### UTF_16BE

    @Deprecated public static final Charset UTF_16BE
    Deprecated.
    Use `StandardCharsets.UTF_16BE`.

    Sixteen-bit Unicode Transformation Format, big-endian byte order.

    Every implementation of the Java platform is required to support this character encoding.

    See Also:
      - Standard charsets

  - ### UTF_16LE

    @Deprecated public static final Charset UTF_16LE
    Deprecated.
    Use `StandardCharsets.UTF_16LE`.

    Sixteen-bit Unicode Transformation Format, little-endian byte order.

    Every implementation of the Java platform is required to support this character encoding.

    See Also:
      - Standard charsets

  - ### UTF_8

    @Deprecated public static final Charset UTF_8
    Deprecated.
    Use `StandardCharsets.UTF_8`.

    Eight-bit Unicode Transformation Format.

    Every implementation of the Java platform is required to support this character encoding.

    See Also:
      - Standard charsets

- ## Constructor Details

  - ### Charsets

    @Deprecated public Charsets()
    Deprecated.
    Will be private in 3.0.
    Construct a new instance.

- ## Method Details

  - ### isAlias

    public static boolean isAlias(Charset charset, String charsetName)
    Tests whether the given non-null Charset has an alias of the given name.
    Parameters:
      `charset` - a non-null Charset.
      `charsetName` - The name to test.
    Returns:
      whether the given non-null charset name is a UTF-8 alias.
    Since:
      2.20.0

  - ### isUTF8

    public static boolean isUTF8(Charset charset)
    Tests whether a given encoding is UTF-8. If the given charset is null, then check the platform's default encoding.
    Parameters:
      `charset` - If the given charset is null, then check the platform's default encoding.
    Returns:
      whether a given encoding is UTF-8.
    Since:
      2.20.0

  - ### requiredCharsets

    public static SortedMap<String,Charset> requiredCharsets()
    Constructs a sorted map from canonical charset names to charset objects required of every implementation of the Java platform.

    From the Java documentation Standard charsets:

    Returns:
      An immutable, case-insensitive map from canonical charset names to charset objects.
    Since:
      2.5
    See Also:
      - `Charset.availableCharsets()`

  - ### toCharset

    public static Charset toCharset(Charset charset)
    Returns the given Charset or the `default Charset` if the given Charset is null.
    Parameters:
      `charset` - A charset or null.
    Returns:
      the given Charset or the default Charset if the given Charset is null.
    See Also:
      - `Charset.defaultCharset()`

  - ### toCharset

    public static Charset toCharset(Charset charset, Charset defaultCharset)
    Returns the given charset if non-null, otherwise return defaultCharset.
    Parameters:
      `charset` - The charset to test, may be null.
      `defaultCharset` - The charset to return if charset is null, may be null.
    Returns:
      a Charset.
    Since:
      2.12.0

  - ### toCharset

    public static Charset toCharset(String charsetName) throws UnsupportedCharsetException
    Returns a Charset for the named charset. If the name is null, return the `default Charset`.
    Parameters:
      `charsetName` - The name of the requested charset, may be null.
    Returns:
      a Charset for the named charset.
    Throws:
      `UnsupportedCharsetException` - If the named charset is unavailable (unchecked exception).
    See Also:
      - `Charset.defaultCharset()`

  - ### toCharset

    public static Charset toCharset(String charsetName, Charset defaultCharset) throws UnsupportedCharsetException
    Returns a Charset for the named charset. If the name is null, return the given default Charset.
    Parameters:
      `charsetName` - The name of the requested charset, may be null.
      `defaultCharset` - The charset to return if charsetName is null, may be null.
    Returns:
      a Charset for the named charset.
    Throws:
      `UnsupportedCharsetException` - If the named charset is unavailable (unchecked exception).
    Since:
      2.12.0

  - ### toCharsetDefault

    public static Charset toCharsetDefault(String charsetName, Charset defaultCharset)
    Returns a Charset for the named charset or the `defaultCharset`.

    If `charsetName` cannot load a charset, return `defaultCharset`. Therefore, this method should never fail and always return a Charset.

    Parameters:
      `charsetName` - The name of the requested charset, may be null.
      `defaultCharset` - The charset to return if charsetName is null or there is a problem, may be null which returns `Charset.defaultCharset()`.
    Returns:
      a Charset for the named charset or `defaultCharset` if any errors occur.
    Since:
      2.20.0
    See Also:
      - `Charset.defaultCharset()`