贝利信息

在Java里如何使用Base64完成编码解码_Java Base64工具类解析

日期:2025-12-13 00:00 / 作者:P粉602998670
Java 1.8+推荐使用java.util.Base64:标准编码用getEncoder()/getDecoder(),URL安全用getUrlEncoder()/getUrlDecoder(),MIME用getMimeEncoder()/getMimeDecoder();禁用sun.misc.BASE64Encoder,注意字符集与非法输入处理。

Java里用Base64编码解码很简单,JDK 1.8+自带java.util.Base64类,无需额外依赖,安全可靠,推荐直接使用。

标准Base64编解码(推荐)

这是最常用场景,比如传输二进制数据(图片、token等)转成文本安全格式。

示例:

String original = "Hello Java";
String encoded = Base64.getEncoder().encodeToString(original.getBytes(StandardCharsets.UTF_8)); // "SGVsbG8gSmF2YQ=="
byte[] decodedBytes = Base64.getDecoder().decode(encoded);
String decoded = new String(decodedBytes, StandardCharsets.UTF_8); // "Hello Java"

URL安全Base64(适合HTTP参数)

标准Base64含+/=,在URL或文件名中可能出问题。用getUrlEncoder()getUrlDecoder()替代。

适合JWT载荷、URL参数、Cookie值等场景。

MIME Base64(处理邮件/附件)

如果要生成符合RFC 2045的Base64(每76字符换行,含CRLF),用getMimeEncoder();解码用getMimeDecoder()

常见坑与建议

基本上就这些。JDK原生Base64够用、稳定、线程安全,直接拿去用就行。