Intellij无法识别UTF-8字符

use*_*294 0 java utf-8 intellij-idea maven

我将所有配置设置为UTF-8,但是在Intellij无法识别RSA加密结果之后.

这是我的设置:

在此输入图像描述

在此输入图像描述

这是实际的加密文本: 结果

 getRSA().init(Cipher.ENCRYPT_MODE, readPublicKey());
 return new String(getRSA().doFinal(token.getBytes("UTF-8")));
Run Code Online (Sandbox Code Playgroud)

我也在pom.xml中设置

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Run Code Online (Sandbox Code Playgroud)

以及命令行参数:

-Dfile.encoding=UTF-8
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

Jon*_*eet 5

您正在尝试将任意二进制数据视为UTF-8编码的文本.不是.它只是任意的二进制数据.你正在做的就像试图将图像或音乐文件表示为文本 - 它根本就不是文本......

您应该使用Base64将其转换为字符串(例如,使用此公共域库).有关为何需要这些内容的更多背景信息,请参阅Marc Gravell关于IO问题的博客文章.

请注意,这绝对不是 Intellij问题 - 这是您对数据采用的方法的问题.