java8新特性(7)— Base64

新增Base64工具类

package com.common.jdk8;import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.UUID;//在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'作为分割。编码输出最后没有行分割。
public class Jdk8Test7 {public static void main(String args[]){try {// 使用基本编码String base64encodedString = Base64.getEncoder().encodeToString("zhangshuai?java8".getBytes("utf-8"));System.out.println("Base64 编码字符串 (基本) :" + base64encodedString);// 解码byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);System.out.println("原始字符串: " + new String(base64decodedBytes, "utf-8"));base64encodedString = Base64.getUrlEncoder().encodeToString("TutorialsPoint?java8".getBytes("utf-8"));System.out.println("Base64 编码字符串 (URL) :" + base64encodedString);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);}catch(UnsupportedEncodingException e){System.out.println("Error :" + e.getMessage());}}
}

运行结果

Base64 编码字符串 (基本) :emhhbmdzaHVhaT9qYXZhOA==
原始字符串: zhangshuai?java8
Base64 编码字符串 (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg=
Base64 编码字符串 (MIME):MzNlYTZmM2ItNjc1ZC00ZTUyLWFiMTgtNWRkYzdiNGQ4MWIzYjU0ODFjZTQtZGExZi00ZDIyLTli
NWQtNzUzZWViYWU2YmQwM2FmOWY3YTktNzg2My00NWUyLTljYjktZmI2NDljOGE2OWI1ZjQzNTgz
MTQtMzY4Zi00NzUxLTg3MWEtZTUxNmRmM2FhNGZmMTJiZWIzODctMDQyMi00ZTFhLWE0ZmItZDkx
YTY5Zjc0MTQ1ZTk2NTRhZDMtYmJiOS00ZTg5LWI2YTgtNmI5ZTA1YWE4OWZjM2RhYjhlZWUtZjMz
Yy00Mzk1LWIwODYtMDE4NGQyMzhhOWUwZjgwZmI5ZDItNjg2YS00ZWY1LTlhZTEtYmJlYjRkZDQ1
ZDMxZmRlZjYxNjItYTg4MC00ZWU4LTgxZDQtNTBlYmI2MzAzMWNiZGZiZjg0NmItODkyNi00YjAw
LWE5YmMtY2MyZWVhN2RiMTNl

java8新特性(7)— Base64相关推荐

  1. 【小家java】java8新特性之---全新的日期、时间API(JSR 310规范),附SpringMVC、Mybatis中使用JSR310的正确姿势

    [小家java]java5新特性(简述十大新特性) 重要一跃 [小家java]java6新特性(简述十大新特性) 鸡肋升级 [小家java]java7新特性(简述八大新特性) 不温不火 [小家java ...

  2. 【小家java】java8新特性之---Optional的使用,避免空指针,代替三目运算符

    相关阅读 [小家java]java5新特性(简述十大新特性) 重要一跃 [小家java]java6新特性(简述十大新特性) 鸡肋升级 [小家java]java7新特性(简述八大新特性) 不温不火 [小 ...

  3. java8新特性_Java8新特性之Date API|乐字节

    大家好,我是乐字节的小乐,上篇文章讲述了<Java8新特性之Optional>,接下来,小乐将接着讲述Java8新特性之Date API 2019日历 Java8之Date API Jav ...

  4. java8新特性_乐字节-Java8新特性-接口默认方法

    总概 JAVA8 已经发布很久,而且毫无疑问,java8是自java5(2004年发布)之后的最重要的版本.其中包括语言.编译器.库.工具和JVM等诸多方面的新特性. Java8 新特性列表如下: 接 ...

  5. java8新特性_乐字节-Java8新特性-函数式接口

    上一篇小乐带大家学过 Java8新特性-Lambda表达式,那什么时候可以使用Lambda?通常Lambda表达式是用在函数式接口上使用的.从Java8开始引入了函数式接口,其说明比较简单:函数式接口 ...

  6. java8新特性简述

    Java8发布时间是2014年3月19日,距离今日已经很久了,那么Java8新特性你了解吗? java8是Java的一次重大升级,巨大的里程碑式的改进!! Java语言新特性: 1.与传统结合 -- ...

  7. Java8新特性总结 -7.新API和工具

    所有示例代码打包下载 : 点击打开链接 Java8新特性 : 接口新增默认方法和静态方法 Optional类 Lambda表达式 方法引用 Stream API - 函数式操作流元素集合 Date/T ...

  8. java8 新特性精心整理(全)——新 Date/Time API

    https://blog.csdn.net/sanri1993/article/details/101176712 前言 越来越多的项目已经使用 Java 8 了,毫无疑问,Java 8 是Java自 ...

  9. 【JAVA拾遗】Java8新特性合辑

    [JAVA拾遗]Java8新特性合辑 文章目录 [JAVA拾遗]Java8新特性合辑 0. 逼逼 [--/--]126 Lambda Expressions & Virtual Extensi ...

最新文章

  1. android资料整理
  2. 你知道为什么Facebook的API以一个循环作为开头吗?
  3. freeglut中提供的几种立体几何对象绘制的android移植
  4. 【PC工具】200416最终百度网盘——最终下载方法及注意事项,代理是什么
  5. PHP:Iterator(迭代器)接口和生成器
  6. 2008最新热门搞笑的50条语录
  7. 《python编程:从入门到实战》学习笔记
  8. Tik Tok与抖音的不同有哪些
  9. GRACE数据介绍及下载
  10. 二重积分计算曲面表面积
  11. (rec)机器人中的语音讲话TTS引擎
  12. 如何查看手机上chrome浏览器的console日志打印
  13. 基于单片机干湿垃圾自动分类系统-毕设课设资料
  14. 产品必备技能(十一):如何写产品分析报告?附实产品分析报告实例(闲鱼)
  15. MySql底层索引原理
  16. BINARY_INTEGER和INTEGER的区别
  17. 软考中级怎么选?如何备考?
  18. java多用户商城 微商城 大型B2B2C商城平台系统源码
  19. HDU 2681 MM Programming Club(miaos的线段树维护+ycy的暴力贪心)
  20. mysql练习-数据库安全性与完整性

热门文章

  1. LeetCode 206 Reverse Linked List 解题报告
  2. SpringBoot核心
  3. SSL-ZYC 溜冰
  4. 输入流IS和输出流OS学习总结
  5. C#读取EXIF信息类
  6. 【转】使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
  7. C#中ListT用法
  8. C语言scanf函数奇遇记
  9. kernel部分数据结构列表三(inode)
  10. WinCE 5.0 virtual memory space