Quantas maneiras de converter bitmap em string e vice-versa?

Na minha aplicação eu quero enviar imagem de bitmap para o servidor na forma de string, eu quero saber quantas maneiras estão disponíveis para converter um bitmap para string. Agora eu estou usando o formato Base64 para codificação e decodificação, leva um pouco mais de memória. Existe alguma outra possibilidade de fazer a mesma coisa de maneiras diferentes, o que requer menos custos com a memória? Agora estou usando este código.

Resources r = ShowFullImage.this.getResources();
Bitmap bm = BitmapFactory.decodeResource(r, R.drawable.col);
ByteArrayOutputStream baos = new ByteArrayOutputStream();  
bm.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object   
byte[] b = baos.toByteArray();

String encodedImage = Base64.encodeToString(b, Base64.DEFAULT);

questionAnswers(3)

yourAnswerToTheQuestion