Cómo convertir una imagen en una cadena base64 con gzip-android

Estoy tratando de convertir y comprimir unimagen tomado de un filepath en android para convertir con gzip de base64 (estoy usando esto porque mi versión de escritorio, escrita en java, está haciendo lo mismo). Esto es lo que tengo actualmente para la compresión:

Bitmap bm = BitmapFactory.decodeFile(imagePath);              
ByteArrayOutputStream baos = new ByteArrayOutputStream();     
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);           
byte[] data = baos.toByteArray();                                                               
String base64Str = null;                                      

ByteArrayOutputStream out_bytes = new ByteArrayOutputStream();
OutputStream out = new Base64.OutputStream(out_bytes);

try {
    out.write(data);
    out.close();                                                         
    byte[] encoded = out_bytes.toByteArray();                 

    base64Str = Base64.encodeBytes(encoded, Base64.GZIP);     
    baos.close();                                             
} catch (Exception e) {}

Respuestas a la pregunta(1)

Su respuesta a la pregunta