java - 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。
我究竟做错了什么?
解决方案
您可以使用以下方法直接编码为字符串Base64.getEncoder().encodeToString
:
String encoded = java.util.Base64.getEncoder()
.encodeToString(password.getBytes());
推荐阅读
- javascript - 试图执行 PHP 页面的 Ajax 将我带到一个新页面
- neo4j - 将集合的结尾连接到开头
- sudo - 除非以 sudo 启动,否则tigervncserver 会崩溃
- powerapps - 画廊价格列中没有显示价值
- python - 如何在列数据框中使用for循环
- angular - 错误类型错误:data.map 不是函数
- java - 将 Zookeeper 设置为每个应用程序实例仅交付一次配置 [Spring]
- reactjs - React with Hooks 中的两种数据绑定方式
- c++ - 将 Boost.Spirit.X3 解析器拆分为多个 TU
- r - 如何从多个组中提取 lme() 函数的结果,然后在 R 中组合?