Android 将位图压缩为字符串

Android 将位图压缩为字符串,android,bitmap,base64,storage,encode,Android,Bitmap,Base64,Storage,Encode,大家好,我有一个问题,当我去编码图像到位图,然后做一个比较解码一个编码图像通过互联网工具,但没有给我相同的解码,也不能找出原因 String path = "/sdcard/bluetooth/bluetooth.png"; Bitmap bitmap = BitmapFactory.decodeFile(path); ByteArrayOutputStream bao = new ByteArrayOutputStream(); bitmap.compress(Bitmap.Compress

大家好,我有一个问题,当我去编码图像到位图,然后做一个比较解码一个编码图像通过互联网工具,但没有给我相同的解码,也不能找出原因

String path = "/sdcard/bluetooth/bluetooth.png"; 
Bitmap bitmap = BitmapFactory.decodeFile(path);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bao);
byte [] ba = bao.toByteArray();
String ba1=Base64.encodeToString(ba,Base64.DEFAULT);

我使用下面的代码进行编码和解码,对我来说效果很好

编码

public static String encodeTobase64(Bitmap image)
{
  Bitmap immagex=image;
  ByteArrayOutputStream baos = new ByteArrayOutputStream();  
  immagex.compress(Bitmap.CompressFormat.JPEG, 100, baos);
  byte[] b = baos.toByteArray();
  String imageEncoded = Base64.encodeToString(b,Base64.DEFAULT);  
  Log.e("LOOK", imageEncoded);
  return imageEncoded;
}
尝试以下方法进行解码,并将生成的位图设置为imageview,然后与原始位图进行检查

解码

public static Bitmap decodeBase64(String input) 
{
    byte[] decodedByte = Base64.decode(input, 0);
    return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length); 
}

我有图像所在的文件路径,我必须像我一样转换位图。。。从外部存储器中获取它。