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,最佳选择是方式一。
来源:oschina
链接:https://my.oschina.net/ydsakyclguozi/blog/4688578