您的位置:首页 > 其它

图像、字符转换为Byte格式、Base64格式

2018-02-12 15:43 302 查看

开头

下面附上Base64在线解码编码网址,该网站能够将字符格式和Base64格式进行转换,也能将图片格式和Base64格式进行转换。

网站链接http://base64.xpcha.com/

为什么使用Base64格式

我们知道在计算机中任何数据都是按ascii码存储的,而ascii码的128~255之间的值是不可见字符。而在网络上交换数据时,比如说从A地传到B地,往往要经过多个路由设备,由于不同的设备对字符的处理方式有一些不同,这样那些不可见字符就有可能被处理错误,这是不利于传输的。所以就先把数据先做一个Base64编码,统统变成可见字符,这样出错的可能性就大降低了。

推荐阅读:Base64编码原理与应用

Base64的编码格式

Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用“=”,因此编码后输出的文本末尾可能会出现1或2个“=”。

为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

例如你好的Base64编码为5L2g5aW9

jpg格式转换为Byte格式

public byte[] image2Bytes(String imgPath)
{
//imgPath为目标转换的图片的路径
try{
FileInputStream fin = new FileInputStream(new File(imgPath));
bytes = new byte[fin.available()];
//将文件内容写入字节数组,提供测试的case
fin.read(bytes);
//关闭输入文件流
fin.close();
}catch (IOException e){
e.printStackTrace();
}
return bytes;
}


Byte格式转化成Base64格式

//需要引入的头文件
import java.net.URLEncoder;

//图片的byte格式数据
byte[] imageData;
//图片的Base64格式数据
String sendtemp;

imageData=image2Bytes(imgpath);
sendtemp=Base64.encodeToString(imageData,0);


字符转化为Base64格式

String SendString64;
SendString64=Base64.encodeToString(SendString.getBytes(),0);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息