base64与string与图片的相互转换
base64转string字符串1
String base64encodedString = "5oiR5piv54i354i3";
// 解码
byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);
try {
System.out.println("原始字符串: " + new String(base64decodedBytes, "utf-8"));
}
catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
结果:
我是爷爷
string字符串转base64
// 字符串转base64
System.out.println(Base64.getEncoder().encodeToString("我是爷爷".getBytes("utf-8")));
结果:
5oiR5piv54i354i3
图片与base64的互转
/**
* 将图片转换成Base64编码
* @param imgFile 待处理图片地址
* @return
*/
public String getImgBase(String imgFile) {
// 将图片文件转化为二进制流
InputStream in = null;
byte[] data = null;
// 读取图片字节数组
try {
in = new FileInputStream(imgFile);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
// 图片头
//String imghead = "data:image/jpeg;base64,";
return Base64.getEncoder().encodeToString(data);
}
/**
* base64转图片
* @param base64Code base64码
*/
public void convertBase64ToImage(String base64Code){
BufferedImage image = null;
byte[] imageByte = null;
try {
imageByte = DatatypeConverter.parseBase64Binary(base64Code);
ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
image = ImageIO.read(new ByteArrayInputStream(imageByte));
bis.close();
File outputfile = new File("D:/test.jpg");
ImageIO.write(image, "png", outputfile);
}
catch (IOException e) {
e.printStackTrace();
}
}
https://www.runoob.com/java/java8-base64.html ↩︎