java byte[]和base64互相转换
Posted Marydon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java byte[]和base64互相转换相关的知识,希望对你有一定的参考价值。
1.方式一
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.方式二
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.方式三
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,最佳选择是方式一。
以上是关于java byte[]和base64互相转换的主要内容,如果未能解决你的问题,请参考以下文章