一.写在前面
- 本次测试主要实现 对图片文件的Base64编码和解码;代码采用Java编写。
- 轮子还是不造了,java的util包中有现成的Base64类,用起来也是非常方便啊!
- 在java.nio.file.Files类中有个readAllBytes()的方法可以一次性读取整个文件。
- 对于原始的base64编码是没有类型头的,这里需要自行添加(同时解码时需要注意去除头)
二.代码实现(Java)
/*
Base64 And Image Converter
Authour:Michael Jiang
Last-Modified: thu May 9 20:30:23 DST 2019
*/
package pbabp;
import java.io.*;
import java.nio.file.Files;
import java.util.Base64;
//photo to Base64 and Base64 to photo
public class Pbabp {
//photo to base64
static String p2b(String pName) throws IOException {
//读取图片文件
File file = new File(pName);
//获取后缀
String suffix = file.getName().substring(file.getName().lastIndexOf(".") + 1);
byte[] pCode = Files.readAllBytes(file.toPath());
//进行Base64转换
String bCode = "data:image/" + suffix + ";base64,";
bCode += Base64.getEncoder().encodeToString(pCode);
return bCode;
}
//base64 to photo
static byte[] b2p(String bCode) {
//去除信息标签
bCode = bCode.split("\\,")[1];
byte [] pCode = Base64.getDecoder().decode(bCode);
return pCode;
}
//将Base64编码的图片写入到文件中
static void writeBaseCodeToFile(String filename,String bCode) throws IOException {
BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
bw.write(bCode);
bw.close();
}
//将图片文件写入到磁盘
static void writePhotoToFile(String filename,byte[] pCode) throws IOException {
BufferedOutputStream bw = new BufferedOutputStream(new FileOutputStream(filename));
bw.write(pCode);
bw.close();
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//将图片转换为Base64编码并存储至文本文件
String bCode = Pbabp.p2b("1.jpg");
writeBaseCodeToFile("1.base64",bCode);
//将Base64编码的图片还原
byte[] pCode = Pbabp.b2p(bCode);
writePhotoToFile("2.jpg",pCode);
}
}
运行后得到两个文件 分别是
1.base64 //存放2.jpg的Base64编码字符
2.jpg //使用1.base64进行解码后还原的图片
三.嵌入到HTML中试一试?
<html>
<head>
<title>Base64 Image Test</title>
</head>
<body>
<img src="data:image/jpg;base64,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"/>
</body>
</html>
挖个坑,有空准备用自己写的轮子(c/c++版本的)来试一试!
<说不定能转呢?>
四.再补一个Golang实现
/*
Base64 And Image Converter
Authour: Michael Jiang
Last-Modified: Thu May 9 23:43:25 DST 2019
*/
package main
import (
"bytes"
"encoding/base64"
"fmt"
"io/ioutil"
)
//P2B photo to base64 code
func P2B(pName string) []byte {
pCode, _ := ioutil.ReadFile(pName)
var encoded bytes.Buffer
encoder := base64.NewEncoder(base64.StdEncoding, &encoded)
encoder.Write(pCode)
encoder.Close()
return encoded.Bytes()
}
//B2P base64 code to photo
func B2P(pName string, bCode []byte) {
var buffer bytes.Buffer
var decoded bytes.Buffer
temp := make([]byte, 4096)
buffer.Write(bCode)
decoder := base64.NewDecoder(base64.StdEncoding, &buffer)
//this fucking loop make me sick
for {
n, _ := decoder.Read(temp)
for i := 0; i < n; i++ {
decoded.WriteByte(temp[i])
}
if n == 0 {
break
}
}
ioutil.WriteFile(pName, decoded.Bytes(), 0644)
}
//SaveBase64Code save the base64 code to file
func SaveBase64Code(bName string, bCode []byte) {
err := ioutil.WriteFile(bName, bCode, 0644)
if err != nil {
fmt.Println("error:", err)
return
}
}
func main() {
bCode := P2B("D://1.jpg")
SaveBase64Code("D://1.base64", bCode)
B2P("D://2.jpg", bCode)
}
传送GitHub:Base64Conv
[5.12补充]:经过昨天晚上的一顿操作制作了一个安卓应用程式:Base64Conv.apk(哈哈,打算暑假来玩一玩这个AS)【apk放在GitHub上了,可以通过上面的传送过去!】