Java8新特性-Base64,别再说自己不会JVM虚拟机了
2021/9/12 9:35:00
本文主要是介绍Java8新特性-Base64,别再说自己不会JVM虚拟机了,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Base64 编码字符串 (基本) :dGhpbmt3b24= 原始字符串: thinkwon
[](
)UrlEncoder方式
@Test public void testUrlEncoder() { String str = "thinkwon"; // 使用基本编码 String base64encodedString = Base64.getUrlEncoder().encodeToString(str.getBytes(StandardCharsets.UTF_8)); System.out.println("Base64 编码字符串 (URL) :" + base64encodedString); // 解码 byte[] base64decodedBytes = Base64.getUrlDecoder().decode(base64encodedString); System.out.println("原始字符串: " + new String(base64decodedBytes, StandardCharsets.UTF_8)); }
输出结果
Base64 编码字符串 (URL) :dGhpbmt3b24= 原始字符串: thinkwon
[](
)MimeEncoder方式
@Test public void testMimeEncoder() { StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < 2; ++i) { stringBuilder.append(UUID.randomUUID().toString()); } System.out.println("原始字符串: " + stringBuilder.toString()); byte[] mimeBytes = stringBuilder.toString().getBytes(StandardCharsets.UTF_8); String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes); System.out.println("Base64 编码字符串 (MIME) :"); System.out.println(mimeEncodedString); byte[] decode = Base64.getMimeDecoder().decode(mimeEncodedString); System.out.println("解码字符串: " + new String(decode, StandardCharsets.UTF_8)); }
输出结果
原始字符串: fb51e7aa-2303-4ffc-be8c-44de37b1417e783f2921-1a68-462e-a5e1-32d1ad6cc51a Base64 编码字符串 (MIME) : ZmI1MWU3YWEtMjMwMy00ZmZjLWJlOGMtNDRkZTM3YjE0MTdlNzgzZjI5MjEtMWE2OC00NjJlLWE1 ZTEtMzJkMWFkNmNjNTFh 解码字符串: fb51e7aa-2303-4ffc-be8c-44de37b1417e783f2921-1a68-462e-a5e1-32d1ad6cc51a
[](
)对文件进行 Base64 编解码
[](
)文件与 Base64 字符串转换工具类
/** * 文件转化成base64字符串 * * @param path 文件路径 * @return String base64字符串 */ public static String fileToBase64Str(String path) { InputStream in = null; byte[] data = null; try { in = new FileInputStream(new File(path)); data = new byte[in.available()]; in.read(data); } catch (Exception e) { e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } // 对字节数组Base64编码 return Base64.getMimeEncoder().encodeToString(data); } /** * 将base64字符串转换为文件并存储到指定位置 * * @param base64Str base64字符串 * @param filePath 文件路径 * @return boolean true表示转换成功,false表示转换失败 */ public static boolean base64StrToFile(String base64Str, String filePath) { if (base64Str == null && filePath == null) { return false; } try { Files.write(Paths.get(filePath), Base64.getMimeDecoder().decode(base64Str), StandardOpenOption.CREATE); } catch (IOException e) { e.printStackTrace(); } return true; }
[](
)文件转 Base64 字符串
@Test public void testFileToBase64() { String base64 = fileToBase64Str("C:\\Users\\JourWon\\Desktop\\优秀.jpg"); System.out.println(base64); }
输出结果
/9j/4AAQSkZJRgABAQAAAQABAAD/4S/vRXhpZgAATU0AKgAAAAgABgESAAMAAAABAAEAAAEaAAUA后面还有很长的字符串...
[](
)Base64 字符串转文件
> **Java网盘:pan.baidu.com/s/1MtPP4d9Xy3qb7zrF4N8Qpg > 提取码:2p8n** ## 最后 这次要给大家分享总结的东西就是这些了 **[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】]( )** 最后再分享一份终极手撕架构的大礼包(学习笔记):分布式+微服务+开源框架+性能优化 ABAAEAAAEaAAUA后面还有很长的字符串...
[](
)Base64 字符串转文件
> **Java网盘:pan.baidu.com/s/1MtPP4d9Xy3qb7zrF4N8Qpg > 提取码:2p8n** ## 最后 这次要给大家分享总结的东西就是这些了 **[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】]( )** 最后再分享一份终极手撕架构的大礼包(学习笔记):分布式+微服务+开源框架+性能优化 ![image](https://www.www.zyiz.net/i/ll/?i=img_convert/df2294537c6beddb45bc736fc7097e99.png)
这篇关于Java8新特性-Base64,别再说自己不会JVM虚拟机了的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南