Base64.encode 返回奇怪的字符串可能是因为编码参数不正确或输入数据格式不符合预期。以下是解决方法的代码示例:
String inputString = "Hello World";
byte[] inputBytes = inputString.getBytes("UTF-8");
// 或者直接使用字节数组
byte[] inputBytes = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
import java.util.Base64;
String encodedString = Base64.getEncoder().encodeToString(inputBytes);
System.out.println("Encoded String: " + encodedString);
import org.apache.commons.codec.binary.Base64;
String encodedString = Base64.encodeBase64String(inputBytes);
System.out.println("Encoded String: " + encodedString);
以上代码示例使用 Java 标准库的 Base64 类和 Apache Commons Codec 库的 Base64 类进行编码。根据具体的编码库和使用环境,需要适当调整代码。