Class CharsetHelper

java.lang.Object
com.helger.commons.charset.CharsetHelper

@Immutable public final class CharsetHelper extends Object
Whole lotta charset management routines.
Author:
Philip Helger
  • Method Details

    • getCharsetFromName

      @Nonnull public static Charset getCharsetFromName(@Nonnull @Nonempty String sCharsetName)
      Resolve the charset by the specified name. The difference to Charset.forName(String) is, that this method has no checked exceptions but only unchecked exceptions.
      Parameters:
      sCharsetName - The charset to be resolved. May neither be null nor empty.
      Returns:
      The Charset object
      Throws:
      IllegalArgumentException - If the charset could not be resolved.
    • getCharsetFromNameOrNull

      @Nullable public static Charset getCharsetFromNameOrNull(@Nullable String sCharsetName)
      Resolve the charset by the specified name. The difference to Charset.forName(String) is, that this method throws no exceptions.
      Parameters:
      sCharsetName - The charset to be resolved. May be null or empty.
      Returns:
      The Charset object or null if no such charset was found.
    • getCharsetFromNameOrDefault

      @Nullable public static Charset getCharsetFromNameOrDefault(@Nullable String sCharsetName, @Nullable Charset aDefault)
      Resolve the charset by the specified name. The difference to Charset.forName(String) is, that this method throws no exceptions.
      Parameters:
      sCharsetName - The charset to be resolved. May be null or empty.
      aDefault - the default charset to be returned if none is provided. May be null.
      Returns:
      The Charset object or the provided default if no such charset was found.
    • getAllCharsets

      Returns:
      An immutable collection of all available charsets from the standard charset provider.
    • getAsStringInOtherCharset

      @Nullable public static String getAsStringInOtherCharset(@Nullable String sText, @Nonnull Charset aCurrentCharset, @Nonnull Charset aNewCharset)
    • getUTF8ByteCount

      @Nonnegative public static int getUTF8ByteCount(@Nullable String s)
      Get the number of bytes necessary to represent the passed string as an UTF-8 string.
      Parameters:
      s - The string to count the length. May be null or empty.
      Returns:
      A non-negative value.
    • getUTF8ByteCount

      @Nonnegative public static int getUTF8ByteCount(@Nullable char[] aChars)
      Get the number of bytes necessary to represent the passed char array as an UTF-8 string.
      Parameters:
      aChars - The characters to count the length. May be null or empty.
      Returns:
      A non-negative value.
    • getUTF8ByteCount

      @Nonnegative public static int getUTF8ByteCount(char c)
    • getUTF8ByteCount

      @Nonnegative public static int getUTF8ByteCount(@Nonnegative int c)
      Get the number of bytes necessary to represent the passed character.
      Parameters:
      c - The character to be evaluated.
      Returns:
      A non-negative value.
    • getInputStreamAndCharsetFromBOM

      @Nonnull public static CharsetHelper.InputStreamAndCharset getInputStreamAndCharsetFromBOM(@Nonnull @WillNotClose InputStream aIS)
      If a BOM is present in the InputStream it is read and if possible the charset is automatically determined from the BOM.
      Parameters:
      aIS - The input stream to use. May not be null.
      Returns:
      Never null. Always use the input stream contained in the returned object and never the one passed in as a parameter, because the returned IS is a push-back InputStream that has a couple of bytes already buffered!
    • getReaderByBOM

      @Nonnull public static InputStreamReader getReaderByBOM(@Nonnull InputStream aIS, @Nonnull Charset aFallbackCharset)