我有一个程序要在其中放入包含未转义的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。
答案 0 :(得分:1)
基本上,当您阅读类似Java的String
时,可以保留演示文稿,请参见此处的示例:https://ideone.com/krMJRf
同一件事在新的InteliJ hello-world
模板应用中也能很好地发挥作用。
我想,但您没有在问题中提及-您正在读取文件。该文件需要具有良好的编码才能使其正常工作。