[英]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。
基本上,當您在Java中讀取類似的String
,可以保留表示形式,請參見此處的示例: https : //ideone.com/krMJRf
在新的InteliJ hello-world
模板應用程序中,同樣的事情也可以正常工作。
我想,但您沒有在問題中提及-您正在讀取文件。 該文件需要具有良好的編碼才能起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.