zoukankan      html  css  js  c++  java
  • 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("
    ", "");
    // base64转byte[]
    byte[] byteArray = Base64.decodeBase64(base64Str);
    

      所需jar包:commons-codec.jar

    4.效率比较

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

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

    写在最后

      哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

     相关推荐:

  • 相关阅读:
    XSS 防御方法总结
    IE浏览器兼容方案
    js 排序算法
    webapck 打包体积优化策略
    webapck 速度优化策略
    Grunt、Gulp和Webpack对比
    数据库中的undo日志、redo日志
    使用sysbench对mysql压力测试
    java -cp & java jar的区别
    使用BenchmarkSQL测试PostgreSQL
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/11652359.html
Copyright © 2011-2022 走看看