Intellij无法识别UTF-8字符

时间:2013-09-04 17:48:00

标签: java maven utf-8 intellij-idea

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

以下是我的设置:

enter image description here

enter image description here

这是实际的加密文本: result

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

我也在pom.xml中设置

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

以及命令行参数:

-Dfile.encoding=UTF-8

可能是什么原因?

1 个答案:

答案 0 :(得分:5)

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

您应该使用Base64将其转换为字符串(例如使用this public domain library)。有关为何需要这样做的更多背景信息,请参阅Marc Gravell's blog post on IO issues

请注意,这肯定是一个Intellij问题 - 这是您对数据采取的方法的问题。