这通常是由于操作系统的本地化设置不同而导致的。为了解决这个问题,可以使用Java内置的Base64类,它有一个静态方法getDecoder(),它返回一个Base64.Decoder对象,可以使用它来解码Base64编码的字符串。
示例代码:
import java.util.Base64;
public class Base64DecoderExample {
public static void main(String[] args) {
String base64Str = "SGVsbG8gV29ybGQh"; // encoded "Hello World!"
byte[] decodeBytes = Base64.getDecoder().decode(base64Str);
String decodedStr = new String(decodeBytes);
System.out.println(decodedStr);
}
}
这个例子使用Base64类解码一个Base64编码的字符串。使用静态方法getDecoder()获取一个Base64.Decoder对象,然后使用它的decode()方法解码字符串,返回一个byte数组,最后将byte数组转换为字符串。无论在哪个计算机上运行代码,得到的解码结果应该都是相同的。