众所周知,我们Java8推出后带来了一系列的新特性,在Base64的编码与解码处理上也新增了处理,在Java8的java.util组件中,新增了Base64类来解决之前由于JDK中sun.misc不公开BASE64Encoder及BASE64Decoder类的Java API接口(以上类属于sun公司内部方法)带来的一系列麻烦。
一、早期的Base64处理方法
1.编码(BASE64Encoder )
BASE64Encoder encoder = new BASE64Encoder();
String text = "测试文字";
byte[] textByte = text.getBytes("UTF-8");
String encodeText = encoder.encode(textByte);
System.out.println(encodeText);
结果打印:
5rWL6K+V5paH5a2X
2.解码(BASE64Decoder )
BASE64Decoder decoder = new BASE64Decoder();
String decodeText = new String(decoder.decodeBuffer(encodeText), "UTF-8");
System.out.println(decodeText);
结果打印:
测试文字
二、Java8中的Base64处理方法
1.编码(Encode)
Base64.Encoder encoder = Base64.getEncoder();
String text = "测试文字";
byte[] textByte = text.getBytes("UTF-8");
String encodeText = encoder.encodeToString(textByte);
System.out.println(encodeText);
结果打印:
5rWL6K+V5paH5a2X
2.解码(Decode)
Base64.Decoder decoder = Base64.getDecoder();
String decodeText = new String(decoder.decode(encodeText), "UTF-8");
System.out.println(decodeText);
结果打印:
测试文字