温馨提示×

java base64decoder能处理Unicode字符吗

小樊
81
2024-12-03 12:18:16
栏目: 编程语言

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

0