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字符了。