【发布时间】:2018-08-04 09:23:09
【问题描述】:
我有一个程序,我想在其中放入包含未转义 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。
【问题讨论】:
-
您是否尝试将源代码保存为 UTF-8? blog.jetbrains.com/idea/2013/03/…
-
@Malt 是的,我已将编码设置为 UTF-8。如果我例如在记事本中打开它,它也会显示为正确的 Unicode
标签: java intellij-idea utf