java如何处理base64

java如何处理base64

作者:William Gu发布时间:2026-02-26阅读时长:0 分钟阅读次数:10

用户关注问题

Q
Java中如何将字符串编码为Base64格式?

我想在Java程序中将普通字符串转换为Base64编码,应该使用哪些类和方法?

A

使用Java内置Base64类进行编码

Java 8及以上版本提供了java.util.Base64类,可以方便地进行Base64编码。可以通过Base64.getEncoder()获得编码器,调用encodeToString方法将字符串的字节数组编码为Base64字符串。例如:

import java.util.Base64;

String original = "example";
String base64Encoded = Base64.getEncoder().encodeToString(original.getBytes());
System.out.println(base64Encoded);
Q
如何在Java中解码Base64字符串回原始数据?

如果我有一个Base64格式的字符串,想在Java中恢复成原始的字节数组或字符串,应该怎么做?

A

利用Base64解码器恢复原始内容

Java提供Base64.getDecoder()方法获得解码器,调用decode方法可以将Base64字符串转换回字节数组。恢复成字符串时可以指定字符集。例如:

import java.util.Base64;

String base64Str = "ZXhhbXBsZQ==";
byte[] decodedBytes = Base64.getDecoder().decode(base64Str);
String original = new String(decodedBytes);
System.out.println(original);
Q
Java 7及以前版本怎样处理Base64编码和解码?

如果使用的是Java 7或更早版本,没有内置Base64类,处理Base64有哪些替代方案?

A

借助第三方库或Apache Commons工具

Java 7及更低版本没有java.util.Base64类,可以使用Apache Commons Codec库中的Base64类,或者javax.xml.bind.DatatypeConverter类进行Base64编解码。例如,使用Apache Commons Codec:

import org.apache.commons.codec.binary.Base64;

byte[] encoded = Base64.encodeBase64(original.getBytes());
String encodedString = new String(encoded);

byte[] decoded = Base64.decodeBase64(encodedString);
String decodedString = new String(decoded);