有奖捉虫:行业应用 & 管理与支持文档专题 HOT

Base64 定义

Base64 是网络上较常见的用于传输 8Bit 字节码的编码方式之一,是一种基于64个可打印字符来表示二进制数据的方法。

Base64 编码的特点

1. Base64 编码可用于 在 HTTP 环境下传递较长的标识信息。
2. Base64 编码具有不可读性,需要解码后才能被理解,提升了数据的安全性。

代码示例:如何将 Base64 编码转化为可读图片

智能文生图智能图生图 接口中,目前就能支持以 Base64 的数据形式作为生成图片结果返回。如何将 Base64 字符串数据转化为一张图片,并将图片文件保存到本地,可以参考如下代码示例。
?
?
?
Python 代码示例:
import base64
?
# base64解码保存为图片
w = resp.ResultImage # ResultImage参数是接口返回图片的base64数据,将这个值赋给w
p_d = base64.b64decode(w) #进行base64解码
pic = open("out.jpg", "wb") #保存图片到当前路径
pic.write(p_d) #将解码后的图片信息保存到本地
?
?
# 将本地图片进行base64编码
img = open("in.jpg", "rb") # 打开当前路径下的图片文件
img_base64 = base64.b64encode(img.read()) # 将图片进行base64编码
img_base64_str=img_base64.decode('utf-8') # 将utf-8 编码的字符串转成unicode编码
Java 代码示例:
package demo;
import java.io.FileInputStream;
import java.io.*;
import java.util.Base64;
import java.util.Base64.*;
?
public class demo {
public static void main(String[] args) throws IOException {
//读取图片的路径
String imagePath = "in.png";
//输出图片的的base64编码信息
String p = ImageToBase64(imagePath);
//保存图片的路径
String savePath = "out.png";
saveImage(p,savePath);
}
?
/**
* 图片转换为base64编码字符串
*/
public static String ImageToBase64(String imgPath) throws IOException {
byte[] data = null;
// 读取图片字节数组
InputStream in = new FileInputStream(imgPath);
data = new byte[in.available()];
in.read(data);
in.close();
// 对字节数组Base64编码
Encoder encoder = Base64.getEncoder();
String i = encoder.encodeToString(data);
//打印base64编码信息
System.out.println(i);
// 返回Base64编码过的字节数组字符串
return i;
}
/**
* base64编码字符串转换为图片下载到指定路径
*
* @param base64Str base64编码字符串
* @param savePath 图片路径
* @throws IOException
*/
public static void saveImage(String p,String savePath) throws IOException {
//Base64解码
Decoder decoder = Base64.getDecoder();
byte[] b = decoder.decode(p);
for(int i=0;i<b.length;++i)
{
if(b[i]<0)
{
b[i]+=256;
}
}
//生成图片
OutputStream out = new FileOutputStream(savePath);
out.write(b);
out.flush();
out.close();
}
}

如何将返回方式从 Base64 切换为图片 URL

如果不想进行 Base64 数据解码,需要使用图片 URL,可以按照如下步骤切换图像返回方式:
1. 在接口输入参数 RspImgType 中传入 "url",将返回图像方式切换为返回图片的 URL。如果不传或传入 "base64",则默认返回图片的 Base64 数据。
?
?
?
2. 在接口输出参数 ResultImage 中获得图片 URL 结果,URL 有效期为1小时,请及时保存。
?
?
?
?


http://www.vxiaotou.com