Java Base64转换,Java Base64工具类 Published on Apr 4, 2023 in 随笔 with 1 comment Base64转换工具类: 1、使用JDK6自带的(不建议使用) ```java import sun.misc.BASE64Encoder; import sun.misc.BASE64Decoder; //编码 BASE64Encoder encoder = new BASE64Encoder(); String imageString = encoder.encode(byteArray);//转换成Base64形式 //解码 BASE64Decoder decoder = new BASE64Decoder(); byte[] imageByteArray = decoder.decodeBuffer(imageString); ``` 但这个性能一般,而且转换出来的base64字符串会有换行符,可能还需要替换换行符,避免在某些场景因为分行导致出错 2、使用Jdk8的Base64工具类(优先考虑使用) ```java java.util.Base64 //编码 Base64.getEncoder().encodeToString("aaaaaaaa".getBytes("utf-8")); //解码 Base64.getDecoder().decode("c29tZSBzdHJpbmc="); //URL编码 //URL对反斜线“/”有特殊的意义,因此URL编码需要替换掉它,使用下划线替换 Base64.getUrlEncoder().encodeToString("test.do?abcd".getBytes("utf-8")); //MIME编码 //每一行输出不超过76个字符,而且每行以“\r\n”符结束 Base64.getMimeEncoder().encodeToString("aaaaaaaa".getBytes("utf-8")); //流文件编码、解码 Base64.getEncoder().wrap(outputStream); Base64.getDecoder().wrap(inputStream); ``` 性能超好,如果已经使用JDK8,直接使用这个。 3、使用Spring提供的Base64Utils类 ```java org.springframework.util.Base64Utils; ``` 4、使用apache中的Base64 ```java org.apache.commons.codec.binary.Base64 ``` 5、使用第三方工具类(附件有相应的jar包) ```java net.iharder.Base64; Base64.encodeBytes(bytes); //直接从文件路径获取base64编码 Base64.encodeFromFile("c:/938dcfd836be4e15a225110dc77769d0.jpg"); ``` 文件转成字节 ```java File file = new File("c:/5110dc77769d0.jpg"); InputStream inputStream = new FileInputStream(file); byte[] bytes = new byte[inputStream.available()]; inputStream.read(bytes); inputStream.close(); ``` 本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
:hehe: