【java技术总结】java-8新特性:新工具

1|0Java8 Base64

在Java 8中,Base64编码已经成为Java类库的标准。

Java 8 内置了 Base64 编码的编码器和解码器。

Base64工具类提供了一套静态方法获取下面三种BASE64编解码器:

基本:输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/。
URL:输出映射到一组字符A-Za-z0-9+_,输出是URL和文件。
MIME:输出隐射到MIME友好格式。输出每行不超过76字符,并且使用'\r'并跟随'\n'作为分割。编码输出最后没有行分割。

2|0Base64 实例

public static void main(String[] args) { try { // 使用基本编码 String base64encodedString = Base64.getEncoder().encodeToString("runoob?java8".getBytes("utf-8")); System.out.println("Base64 编码字符串 (基本) :" + base64encodedString); // 解码 byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString); System.out.println("原始字符串: " + new String(base64decodedBytes, "utf-8")); // 使用 URL 编码 base64encodedString = Base64.getUrlEncoder().encodeToString("runoob?java8".getBytes("utf-8")); System.out.println("Base64 编码字符串 (URL) :" + base64encodedString); base64decodedBytes = Base64.getUrlDecoder().decode(base64encodedString); System.out.println("Base64 解码字符串 (URL) :" + new String(base64decodedBytes, "utf-8")); // MIME 编码 StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < 10; ++i) { stringBuilder.append(UUID.randomUUID().toString()); } byte[] mimeBytes = stringBuilder.toString().getBytes("utf-8"); String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes); System.out.println("Base64 编码字符串 (MIME) :" + mimeEncodedString); byte[] mimeDecodedBytes = Base64.getMimeDecoder().decode(mimeEncodedString); System.out.println("Base64 解码字符串 (MIME) :" + new String(mimeDecodedBytes, "utf-8")); }catch(UnsupportedEncodingException e){ System.out.println("Error :" + e.getMessage()); } }
Base64 编码字符串 (基本) :cnVub29iP2phdmE4 原始字符串: runoob?java8 Base64 编码字符串 (URL) :cnVub29iP2phdmE4 Base64 解码字符串 (URL) :runoob?java8 Base64 编码字符串 (MIME) :OWU4NjUyZDAtYzZhYy00NjM1LWExYjYtYTM5YmU5MGEzYTNlODg4MzQ4MzAtNzMxNC00NTY2LWIy NDItM2QxYTViMTlkZGIzNGZjZjY4MjYtMzg5My00ZDM4LWJlYWQtMDBjMWNiY2RmNWUxNjQyNzA4 ODQtYmI3ZC00NWI4LTk0ZWItYzBlOGJhMjAyZWYyNzI0MDIwY2UtNjUwNC00YmE5LWExNzEtMjY0 MTA4OTUwMDRmZjRhYWUyYzUtMmRkMC00ODdiLTk1NWQtYWU0NDFhYzYwY2IxYzAzZGRiZGQtMDMy NC00MjE5LWEyYTUtZjk0YWU2MDYxM2Q1MmVlMTJhMjktNWRlYi00NmRhLTljM2YtZjUzNzM2ZDA2 MDY1NDZiNThkOWMtOTE2NC00ZTk0LTk0YWEtNjQyYWRjNTYxM2VhZDM3OTc3YjQtN2I1My00Nzll LTg0NWYtZDM2N2I0OTkwZTdj Base64 解码字符串 (MIME) :9e8652d0-c6ac-4635-a1b6-a39be90a3a3e88834830-7314-4566-b242-3d1a5b19ddb34fcf6826-3893-4d38-bead-00c1cbcdf5e164270884-bb7d-45b8-94eb-c0e8ba202ef2724020ce-6504-4ba9-a171-26410895004ff4aae2c5-2dd0-487b-955d-ae441ac60cb1c03ddbdd-0324-4219-a2a5-f94ae60613d52ee12a29-5deb-46da-9c3f-f53736d0606546b58d9c-9164-4e94-94aa-642adc5613ead37977b4-7b53-479e-845f-d367b4990e7c

__EOF__

本文作者blanset
本文链接https://www.cnblogs.com/blanset/p/16876168.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   求道之愚者  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示