java.util.Base64(Java 8)

Java 8 提供了 java.util.Base64,通过静态工厂方法获取符合 RFC 4648 / RFC 2045 的编码器与解码器。该类以静态方法为主,返回不同风格的 Encoder / Decoder 实例。

变体(按规范)

方法概览(节选)

返回类型 方法 说明
Base64.Encoder getEncoder() 返回 Basic Base64 编码器。
Base64.Decoder getDecoder() 返回 Basic Base64 解码器。
Base64.Encoder getUrlEncoder() 返回 URL 与文件名安全的编码器。
Base64.Decoder getUrlDecoder() 返回 URL 与文件名安全的解码器。
Base64.Encoder getMimeEncoder() 返回 MIME 编码器(76 列换行,CRLF 分隔)。
Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) 返回自定义行宽与分隔符的 MIME 编码器。若 lineSeparator 含有 Base64 字母表字符将抛出 IllegalArgumentException
Base64.Decoder getMimeDecoder() 返回 MIME 解码器。

快速示例

import java.util.Base64;

// Basic
String encoded = Base64.getEncoder().encodeToString("hello".getBytes("UTF-8"));
byte[] bytes = Base64.getDecoder().decode(encoded);

// URL-safe
String url = Base64.getUrlEncoder().encodeToString("a/b?c".getBytes("UTF-8"));

// MIME (wrap at 76 columns)
Base64.Encoder mime = Base64.getMimeEncoder();
		

参考:Oracle Java SE 8 — java.util.Base64