📜  Android 位图到 Base64 字符串 (1)

📅  最后修改于: 2023-12-03 14:39:09.830000             🧑  作者: Mango

Android 位图到 Base64 字符串

在 Android 开发中,我们经常需要将位图转换为 Base64 字符串。本文将介绍如何将位图转换为 Base64 字符串,并且提供了相应的代码片段。

原理

在 Android 中,我们可以使用 Base64 类将二进制数据转换为 Base64 字符串。对于位图,我们可以使用 Bitmap.CompressFormat 将其压缩为二进制数据,然后再将其转换为 Base64 字符串。

代码实现
/**
 * 将位图转换为 Base64 字符串
 * @param bitmap 位图
 * @param format 压缩格式,可选值为 Bitmap.CompressFormat.JPEG、Bitmap.CompressFormat.PNG、Bitmap.CompressFormat.WEBP
 * @param quality 压缩质量,0-100
 * @return Base64 字符串
 */
public static String bitmapToBase64(Bitmap bitmap, Bitmap.CompressFormat format, int quality) {
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    bitmap.compress(format, quality, byteArrayOutputStream);
    byte[] bytes = byteArrayOutputStream.toByteArray();
    return Base64.encodeToString(bytes, Base64.DEFAULT);
}
使用示例
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
String base64 = bitmapToBase64(bitmap, Bitmap.CompressFormat.PNG, 100);
总结

本文介绍了将位图转换为 Base64 字符串的方法。对于开发者来说,由于转换过程比较简单,因此代码实现也十分简单。但需要注意,将位图转换为 Base64 字符串会占用较多的内存,因此在具体应用中需要根据实际情况进行优化。