一、說明
在 Java 8 中,Base64 編碼已經成爲Java類庫的標準,內置編碼器和解碼器。
Base64工具類提供了三種BASE64編解碼器:
基本:輸出被映射到一組字符A-Za-z0-9+/,編碼不添加任何行標,輸出的解碼僅支持A-Za-z0-9+/
URL:輸出映射到一組字符A-Za-z0-9+_,輸出是URL和文件
MIME:輸出隱射到MIME友好格式。輸出每行不超過76字符,並且使用'\r'並跟隨'\n'作爲分割。編碼輸出最後沒有行分割
二、示例
// 原始字符串
String initChars = "abc!@64編解碼#-Adv://";
// 基礎編碼
String b64En = Base64.getEncoder().encodeToString(initChars.getBytes("utf-8"));
// 基礎解碼
byte[] b64De = Base64.getDecoder().decode(b64En);
String deChars = new String(b64De, "utf-8");
// Url編碼
String b64UrlEn = Base64.getUrlEncoder().encodeToString(initChars.getBytes("utf-8"));
// Url解碼
byte[] b64UrlDe = Base64.getUrlDecoder().decode(b64UrlEn);
String urlDeChars = new String(b64UrlDe, "utf-8");
// Mime編碼
String b64MimeEn = Base64.getMimeEncoder().encodeToString(initChars.getBytes("utf-8"));
// Mime解碼
byte[] b64MimeDe = Base64.getMimeDecoder().decode(b64MimeEn);
String mimeDeChars = new String(b64MimeDe, "utf-8");