java byte[]和base64互相转换

廉价感情. 提交于 2020-10-26 11:32:52

1.方式一

1
2
3
4
5
6
import   java.io.UnsupportedEncodingException;
import   java.util.Base64;
// byte[]转base64
String base64Str = Base64.getEncoder().encodeToString(byteArray);
// base64转byte[]
byte   [] byteArray = Base64.getDecoder().decode(base64Str);

说明:使用jdk自带的Base64.java类实现,但是jdk版本必须>=1.8。     

2.方式二

1
2
3
4
5
6
import    java.io.UnsupportedEncodingException;
import   javax.xml.bind.DatatypeConverter;
// byte[]转base64
String base64Str = DatatypeConverter.printBase64Binary(byteArray);
// base64转byte[]
byte   [] byteArray = DatatypeConverter.parseBase64Binary(base64Str);

说明:使用jdk自带的DatatypeConverter.java类实现,但是jdk版本必须>=1.6。

3.方式三

1
2
3
4
5
6
import   java.io.UnsupportedEncodingException;
import   org.apache.commons.codec.binary.Base64;
// byte[]转base64
String base64Str =Base64.encodeBase64String(byteArray).replaceAll( "\r\n" , "" );
// base64转byte[]
byte   [] byteArray = Base64.decodeBase64(base64Str);

所需jar包:commons-codec.jar

4.效率比较

快-->慢:方式二 > 方式一 > 方式三

因此,如果项目用的是jdk1.8,最佳选择是方式二;jdk1.6,最佳选择是方式一。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!