IntelliJ - 输入未转义的 UTF-8 非 ASCII 字符

IntelliJ - inputting unescaped UTF-8 non ASCII characters

我有一个程序,我想在其中放入包含未转义 Unicode 字符的字符串,例如

String s = "(¬(a) ∨ ((¬(b) ∧ (c ∨ d)) ∨ e))"

问题是这个字符串已经被错误读取,因为 Unicode 字符没有转义,所以如果我立即打印它,我得到:

(¬(a) ⨠((¬(b) ⧠(c ⨠d)) ⨠e))

当然,如果我转义字符串中的 Unicode 字符,它就可以正常工作:

String s = "(\u00AC(a) \u2228 ((\u00AC(b) \u2227 (c \u2228 d)) \u2228 e))"
System.out.println(s); 

Output:
(¬(a) ∨ ((¬(b) ∧ (c ∨ d)) ∨ e))

但是,相比于第一个输入,第二个只能用不祥来形容,一目了然。

有没有办法保持视觉表现,并且仍然有效?

文件编码为 UTF-8。

基本上,当您阅读 String 时,就像 java 中那样,您可以继续演示,请参见此处的示例:https://ideone.com/krMJRf

同样的事情也适用于新的 InteliJ hello-world 模板应用程序。

我猜你没有在问题中提到——你正在读取一个文件。该文件需要具有良好的编码才能使其正常工作。