android - Android中base64字符串编码和解码位图对象

标签 android bitmap base64

我想对字符串 base64 中的 Bitmap 对象进行编码和解码。我用的是Android API10,

我尝试使用这种形式的方法来编码 Bitmap,但没有成功。

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;
}

最佳答案

public static String encodeToBase64(Bitmap image, Bitmap.CompressFormat compressFormat, int quality)
{
    ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
    image.compress(compressFormat, quality, byteArrayOS);
    return Base64.encodeToString(byteArrayOS.toByteArray(), Base64.DEFAULT);
}

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

示例用法:

String myBase64Image = encodeToBase64(myBitmap, Bitmap.CompressFormat.JPEG, 100);
Bitmap myBitmapAgain = decodeBase64(myBase64Image);

关于android - Android中base64字符串编码和解码位图对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9768611/

相关文章:

java - Android gradle : Exclude file from external dependencies

java - 用于在 Android 应用程序中检查互联网连接的广播接收器

php - 为什么 php base64_decode 返回 null?

ios - 快速解码 base64 字符串出错

java - "java.util.zip.DataFormatException: incorrect header check"在 JavaScript 中放气然后在 Java 中膨胀

android - 使用Java将android studio连接到azure sql数据库

java - 尝试在应用程序中加载 url 时出现黑屏

java - 从 android 中的 longBlob 数据创建位图

java - 如何使用serversocket发送位图

java - Android向非常大的jpg文件添加水印 Logo (例如10000 x 150000)