package com.fhc.modules.api.utils;
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.UUID;
/**
* Base64 Test
*/
public class java8Base64 {
/**
* Base64工具类提供了一套静态方法获取下面三种BASE64编解码器:
*
* 基本:输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/。
* URL:输出映射到一组字符A-Za-z0-9+_,输出是URL和文件。
* MIME:输出隐射到MIME友好格式。输出每行不超过76字符,并且使用'\r'并跟随'\n'作为分割。编码输出最后没有行分割。
*
* @param args
*/
public static void main(String[] args) {
try {
// 初始化
String str ="学习java8?base64";
String charsetName ="utf-8";
// base64编码字符串(基本)
String base64encodedString = Base64.getEncoder().encodeToString(str.getBytes(charsetName));
System.out.println(base64encodedString);
byte[] string = Base64.getDecoder().decode(base64encodedString);
System.out.println(new String(string, charsetName));
// base64编码字符串(url)
String base64urlString = Base64.getUrlEncoder().encodeToString(str.getBytes(charsetName));
System.out.println(base64urlString);
string = Base64.getUrlDecoder().decode(base64urlString);
System.out.println(new String(string, charsetName));
// base64编码字符串(MIME)
StringBuilder stringBuilder =new StringBuilder();
for (int i =0; i <10; i++) {
stringBuilder.append(UUID.randomUUID().toString());
}
// System.out.println(stringBuilder);
String base64MIMEString = Base64.getMimeEncoder().encodeToString(stringBuilder.toString().getBytes(charsetName));
System.out.println(base64MIMEString);
string = Base64.getMimeDecoder().decode(base64MIMEString);
System.out.println(new String(string, charsetName));
}catch (UnsupportedEncodingException e) {
}
}
}