code: public static byte[] decode( String s, int options )
      {
          byte[] bytes = s.getBytes( Charsets.UTF_8 );
  
          // Decode
          bytes = decode( bytes, 0, bytes.length, options );
  
  
          // Check to see if it's gzip-compressed
          // GZIP Magic Two-Byte Number: 0x8b1f (35615)
          if( bytes != null && bytes.length >= 4 )
          {
  
              int head = ((int)bytes[0] & 0xff) | ((bytes[1] << 8) & 0xff00);
              if( java.util.zip.GZIPInputStream.GZIP_MAGIC == head )
              {
                  java.io.ByteArrayInputStream  bais = null;
                  java.util.zip.GZIPInputStream gzis = null;
                  java.io.ByteArrayOutputStream baos = null;
                  byte[] buffer = new byte[2048];
                  int    length = 0;
  
                  try
                  {
                      baos = new java.io.ByteArrayOutputStream();
                      bais = new java.io.ByteArrayInputStream( bytes );
                      gzis = new java.util.zip.GZIPInputStream( bais );
  
                      while( ( length = gzis.read( buffer ) ) >= 0 )
                      {
                          baos.write(buffer,0,length);
                      }   // end while: reading input
  
                      // No error? Get new bytes.
                      bytes = baos.toByteArray();
  
                  }   // end try
                  catch( java.io.IOException e )
                  {
                      LOG.trace("While decoding bytes", e);
                  }
                  finally
                  {
                      Closeables.closeQuietly(baos);
                      Closeables.closeQuietly(gzis);
                      Closeables.closeQuietly(bais);
                  }   // end finally
  
              }   // end if: gzipped
          }   // end if: bytes.length >= 2
  
          return bytes;
      }
docs: Decodes data from Base64 notation, automatically
  detecting gzip-compressed data and decompressing it.
  
  @param s the string to decode
  @param options encode options such as URL_SAFE
  @return the decoded data
  @since 1.4