一、说明
在 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");