base64转图片
时间: 2023-07-07 11:16:06 浏览: 111
可以使用以下 Python 代码将 base64 编码的字符串转换为图片:
```python
import base64
from PIL import Image
from io import BytesIO
# base64 编码的字符串
base64_str = "data:image/png;base64,iVBORw0KG...QmCC"
# 去除前缀
img_data = base64_str.replace("data:image/png;base64,", "")
# 解码 base64 字符串
img_bytes = base64.b64decode(img_data)
# 将字节流转换为图片
img = Image.open(BytesIO(img_bytes))
# 显示图片
img.show()
```
其中 `base64_str` 是 base64 编码的字符串,需要将其解码并转换为图片。使用 Python 的 `base64` 模块可以将 base64 编码的字符串解码为字节流,然后使用 PIL 库的 `Image.open()` 方法将字节流转换为图片对象。最后可以使用 `img.show()` 显示图片。
相关问题
base64 转图片
Base64是一种用于将二进制数据编码成ASCII字符的编码方式。它常被用于在文本协议中传输二进制数据,例如在HTML中嵌入图片或者在网络请求中传输图片数据。将Base64编码的字符串转换为图片的过程如下:
1. 首先,将Base64编码的字符串解码为二进制数据。
2. 然后,根据图片格式(如JPEG、PNG等),将解码后的二进制数据保存为对应格式的图片文件。
以下是一个示例代码,使用Python的base64和PIL库来实现Base64转图片的功能:
```python
import base64
from PIL import Image
from io import BytesIO
def base64_to_image(base64_string, output_path):
# 解码Base64字符串为二进制数据
image_data = base64.b64decode(base64_string)
# 创建Image对象
image = Image.open(BytesIO(image_data))
# 保存为图片文件
image.save(output_path)
# 示例用法
base64_string = "..." # 这里替换为你的Base64字符串
output_path = "output.jpg" # 输出图片路径
base64_to_image(base64_string, output_path)
```
请注意,示例代码中使用了Python的base64和PIL库来进行Base64解码和图片处理。你可以根据自己的需求选择其他编程语言和相应的库来实现相同的功能。
java1.8 获取本地图片转base64,base64转图片
可以使用Java 1.8中的Base64类来实现本地图片与base64之间的转换。具体步骤如下:
1. 将本地图片转换为byte数组:
```java
File file = new File("图片路径");
BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file));
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
byte[] data = outputStream.toByteArray();
```
2. 将byte数组转换为base64字符串:
```java
String base64 = Base64.getEncoder().encodeToString(data);
```
3. 将base64字符串转换为byte数组:
```java
byte[] data = Base64.getDecoder().decode(base64);
```
4. 将byte数组转换为图片并保存到本地:
```java
FileOutputStream outputStream = new FileOutputStream("保存路径");
outputStream.write(data);
outputStream.flush();
outputStream.close();
```
阅读全文