首页 > 解决方案 > Base64.encode 返回奇怪的字符串

问题描述

我在 Java 11 中运行此代码:

String password = "Password123";
String encoded = java.util.Base64.getEncoder().encode(password.getBytes()).toString();
System.out.println("Encoded: " + encoded);

我得到的输出Encoded: [B@46f5f779显然是不正确的。

默认字符集是 UTF-8。

我究竟做错了什么?

标签: javabase64

解决方案


您可以使用以下方法直接编码为字符串Base64.getEncoder().encodeToString

String encoded = java.util.Base64.getEncoder()
                                 .encodeToString(password.getBytes());

推荐阅读