code: public static String decompress(final byte[] strBytes) {
  
          if (strBytes[0] == UNCOMPRESSED_FLAG) {
              return new String(strBytes, 1, strBytes.length, Charsets.UTF_8);
          }
  
          final StringBuilder out = new StringBuilder();
  
          for (int i = 0; i < strBytes.length; i++) {
              final char b = (char) (0xFF & strBytes[i]);
              if (b == 254) {
                  out.append((char) strBytes[++i]);
              } else if (b == 255) {
                  final int length = 0xFF & strBytes[++i];
                  for (int j = 1; j <= length; j++) {
                      out.append((char) strBytes[i + j]);
                  }
                  i += length;
              } else {
                  final int loc = 0xFF & b;
                  out.append(REVERSE_CODEBOOK[loc]);
              }
          }
          return out.toString();
      }
docs: Decompress byte array from compress back into String
  
  @param strBytes
  @return decompressed String
  @see Smaz#compress(String)