Android将bitmap通过BASE64编码转换成字符串
时间: 2023-05-14 12:04:15 浏览: 189
可以使用以下代码将Bitmap转换为Base64字符串:
```
Bitmap bitmap = BitmapFactory.decodeFile("path/to/image.jpg");
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream.toByteArray();
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
```
其中,`path/to/image.jpg`是你要转换的图片路径。转换后的Base64字符串保存在`encoded`变量中。
相关问题
安卓 java base64编码字符串转换为图片 和 图片转base64编码 示例
以下是安卓 Java 中将 base64 编码字符串转换为图片的示例代码:
```
public static Bitmap decodeBase64ToBitmap(String base64String) {
byte[] decodedBytes = Base64.decode(base64String, Base64.DEFAULT);
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}
```
以下是安卓 Java 中将图片转换为 base64 编码的示例代码:
```
public static String encodeBitmapToBase64(Bitmap bitmap) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
byte[] bitmapBytes = outputStream.toByteArray();
return Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
}
```
注意:在使用这些方法之前,需要导入 `android.util.Base64`、`android.graphics.Bitmap` 和 `android.graphics.BitmapFactory` 等类。
Bitmap 转Base64
在Android中,你可以使用`Base64`编码将`Bitmap`转换为字符串以便在网络传输或保存为文本文件。这里是一个简单的例子:
```java
import android.graphics.Bitmap;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public String bitmapToBase64(Bitmap bitmap) {
if (bitmap == null) return null;
byte[] bytes = bitmap.compress(Bitmap.CompressFormat.JPEG, 80, null); // 80% quality
String encodedImage = Base64.getEncoder().encodeToString(bytes);
return encodedImage;
}
```
在这个函数中,首先对`Bitmap`进行压缩(这里是JPEG格式,质量设为80),然后使用`Base64.getEncoder().encodeToString()`方法将其转换为Base64编码的字符串。注意,`compress()`方法的第三个参数是输出缓冲区,我们传入null表示由库自行管理。
当你需要从Base64字符串还原回`Bitmap`时,可以用下面的方法:
```java
public Bitmap base64ToBitmap(String base64Image) {
byte[] decodedBytes = Base64.getDecoder().decode(base64Image);
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}
```
阅读全文