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,最佳选择是方式一。

    转载地址:https://www.cnblogs.com/Marydon20170307/p/11652359.html

  • 相关阅读:
    GCD (hdu 5726)
    1092
    D. Puzzles(Codeforces Round #362 (Div. 2))
    A. Lorenzo Von Matterhorn
    Polyomino Composer(UVA12291)
    Optimal Symmetric Paths(UVA12295)
    菜鸟物流的运输网络(计蒜客复赛F)
    1193
    1119
    1374
  • 原文地址:https://www.cnblogs.com/xr210/p/13362259.html
Copyright © 2011-2022 走看看