Java的Base64Decoder类主要用于处理ASCII字符集,它不能直接处理Unicode字符。如果你需要处理Unicode字符,可以使用Java 8引入的Base64编码和解码工具类,如java.util.Base64。
以下是一个使用java.util.Base64处理Unicode字符的示例:
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String originalString = "你好,世界!";
String encodedString = Base64.getEncoder().encodeToString(originalString.getBytes(StandardCharsets.UTF_8));
System.out.println("原始字符串: " + originalString);
System.out.println("Base64编码后的字符串: " + encodedString);
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
String decodedString = new String(decodedBytes, StandardCharsets.UTF_8);
System.out.println("Base64解码后的字符串: " + decodedString);
}
}
在这个示例中,我们首先将包含Unicode字符的原始字符串转换为字节数组,然后使用Base64编码器对其进行编码。接下来,我们使用Base64解码器将编码后的字符串解码回字节数组,最后将其转换回字符串。这样,我们就可以处理Unicode字符了。