java byte[]和base64互相轉換
阿新 • • 發佈:2020-07-22
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,最佳選擇是方式一。
轉載地址:https://www.cnblogs.com/Marydon20170307/p/11652359.html