Class FiveBitAsciiCompressor

java.lang.Object
com.dannemann.stringcompressor.AsciiCompressor
com.dannemann.stringcompressor.FiveBitAsciiCompressor

public class FiveBitAsciiCompressor extends AsciiCompressor

Performs 5-bit-per-ASCII-character encoding and decoding.

Compression rate: 38%

  • Field Details

    • DEFAULT_5BIT_CHARSET

      public static final byte[] DEFAULT_5BIT_CHARSET
    • DEFAULT_5BIT_CHARSET_LOWERCASE

      public static final byte[] DEFAULT_5BIT_CHARSET_LOWERCASE
  • Constructor Details

    • FiveBitAsciiCompressor

      public FiveBitAsciiCompressor()
    • FiveBitAsciiCompressor

      public FiveBitAsciiCompressor(byte[] supportedCharset)
    • FiveBitAsciiCompressor

      public FiveBitAsciiCompressor(boolean throwException)
  • Method Details

    • compress

      public final byte[] compress(byte[] str)

      Packs characters into chunks of 5 bits. Supports a set of 32 different characters (00000 to 11111).

      Compression rate: 38%

      See DEFAULT_5BIT_CHARSET for the default set of supported characters.

      Specified by:
      compress in class AsciiCompressor
      Parameters:
      str - string to be compressed.
      Returns:
      A compressed byte array.
    • decompress

      public final byte[] decompress(byte[] compressed)
      Restores the original string from data compressed by AsciiCompressor.compress(byte[]).
      Specified by:
      decompress in class AsciiCompressor
      Parameters:
      compressed - The compressed string byte array.
      Returns:
      A decompressed string byte array.
    • validateSupportedCharset

      protected void validateSupportedCharset(byte[] supportedCharset)
      Specified by:
      validateSupportedCharset in class AsciiCompressor