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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huanhuan_Coder/article/details/79317173

开头

  • 下面附上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);
展开阅读全文

没有更多推荐了,返回首页