使用 java.util.Base64,取代 JDK 内部类或第三方编解码器。
代码对比
✕ Internal JDK API
String encoded = new sun.misc.BASE64Encoder()
.encode(data);
✓ Java 8+
String encoded = Base64.getEncoder()
.encodeToString(data);
发现此代码有问题? 告诉我们。
为什么现代方式更好
受支持的 API
避免使用无法访问的 sun.misc 实现类。
变体齐全
包含基本型、URL 安全型和 MIME 型编码器与解码器。
无依赖
编码与解码内置于 JDK。
旧方式
sun.misc 编码器
现代方式
标准 Base64 API
自 JDK
8
难度
入门
JDK 支持
标准 Base64 编码与解码
可用
自 JDK 8 起广泛可用(2014 年 3 月)。
工作原理
标准 Base64 API 提供基本型、URL 安全型和 MIME 型编码器与解码器,无需依赖不受支持的内部包。标准 Base64 使用 getEncoder() 和 getDecoder();目标格式需要时,则选择 URL 或 MIME 变体。
相关文档
证明