package com.fhc.modules.api.utils;
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.UUID;
/**
* Base64 Test
*/
public class java8Base64 {
/**
? ? * Base64工具類提供了一套靜態(tài)方法獲取下面三種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) {
}
}
}