Class Encoding


  • public class Encoding
    extends java.lang.Object
    Representation of a particular character encoding.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Encoding​(java.nio.charset.Charset encoding)
      Use the charset passed as parameter and tests at creation time whether the specified encoding is compatible with ASCII numbers.
      protected Encoding​(java.nio.charset.Charset encoding, boolean fastASCIINumbers)
      Subclasses may use this constructor if they know in advance of their ASCII number compatibility.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String decode​(byte[] encodedString)
      Decode an array of bytes into a string.
      java.lang.String decode​(byte[] encodedString, int offset, int length)
      Decode an array of bytes into a string.
      static Encoding defaultEncoding()
      Get an Encoding using the default encoding for the JVM.
      byte[] encode​(java.lang.String s)
      Encode a string to an array of bytes.
      static Encoding getDatabaseEncoding​(java.lang.String databaseEncoding)
      Construct an Encoding for a given database encoding.
      java.io.Reader getDecodingReader​(java.io.InputStream in)
      Get a Reader that decodes the given InputStream using this encoding.
      java.io.Writer getEncodingWriter​(java.io.OutputStream out)
      Get a Writer that encodes to the given OutputStream using this encoding.
      static Encoding getJVMEncoding​(java.lang.String jvmEncoding)
      Construct an Encoding for a given JVM encoding.
      boolean hasAsciiNumbers()
      Returns true if this encoding has characters '-' and '0'..'9' in exactly same posision as ascii.
      java.lang.String name()
      Get the name of the (JVM) encoding used.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Encoding

        protected Encoding​(java.nio.charset.Charset encoding,
                           boolean fastASCIINumbers)
        Subclasses may use this constructor if they know in advance of their ASCII number compatibility.
        Parameters:
        encoding - charset to use
        fastASCIINumbers - whether this encoding is compatible with ASCII numbers.
      • Encoding

        protected Encoding​(java.nio.charset.Charset encoding)
        Use the charset passed as parameter and tests at creation time whether the specified encoding is compatible with ASCII numbers.
        Parameters:
        encoding - charset to use
    • Method Detail

      • hasAsciiNumbers

        public boolean hasAsciiNumbers()
        Returns true if this encoding has characters '-' and '0'..'9' in exactly same posision as ascii.
        Returns:
        true if the bytes can be scanned directly for ascii numbers.
      • getJVMEncoding

        public static Encoding getJVMEncoding​(java.lang.String jvmEncoding)
        Construct an Encoding for a given JVM encoding.
        Parameters:
        jvmEncoding - the name of the JVM encoding
        Returns:
        an Encoding instance for the specified encoding, or an Encoding instance for the default JVM encoding if the specified encoding is unavailable.
      • getDatabaseEncoding

        public static Encoding getDatabaseEncoding​(java.lang.String databaseEncoding)
        Construct an Encoding for a given database encoding.
        Parameters:
        databaseEncoding - the name of the database encoding
        Returns:
        an Encoding instance for the specified encoding, or an Encoding instance for the default JVM encoding if the specified encoding is unavailable.
      • name

        public java.lang.String name()
        Get the name of the (JVM) encoding used.
        Returns:
        the JVM encoding name used by this instance.
      • encode

        public byte[] encode​(java.lang.String s)
                      throws java.io.IOException
        Encode a string to an array of bytes.
        Parameters:
        s - the string to encode
        Returns:
        a bytearray containing the encoded string
        Throws:
        java.io.IOException - if something goes wrong
      • decode

        public java.lang.String decode​(byte[] encodedString,
                                       int offset,
                                       int length)
                                throws java.io.IOException
        Decode an array of bytes into a string.
        Parameters:
        encodedString - a byte array containing the string to decode
        offset - the offset in encodedString of the first byte of the encoded representation
        length - the length, in bytes, of the encoded representation
        Returns:
        the decoded string
        Throws:
        java.io.IOException - if something goes wrong
      • decode

        public java.lang.String decode​(byte[] encodedString)
                                throws java.io.IOException
        Decode an array of bytes into a string.
        Parameters:
        encodedString - a byte array containing the string to decode
        Returns:
        the decoded string
        Throws:
        java.io.IOException - if something goes wrong
      • getDecodingReader

        public java.io.Reader getDecodingReader​(java.io.InputStream in)
                                         throws java.io.IOException
        Get a Reader that decodes the given InputStream using this encoding.
        Parameters:
        in - the underlying stream to decode from
        Returns:
        a non-null Reader implementation.
        Throws:
        java.io.IOException - if something goes wrong
      • getEncodingWriter

        public java.io.Writer getEncodingWriter​(java.io.OutputStream out)
                                         throws java.io.IOException
        Get a Writer that encodes to the given OutputStream using this encoding.
        Parameters:
        out - the underlying stream to encode to
        Returns:
        a non-null Writer implementation.
        Throws:
        java.io.IOException - if something goes wrong
      • defaultEncoding

        public static Encoding defaultEncoding()
        Get an Encoding using the default encoding for the JVM.
        Returns:
        an Encoding instance
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object