簡體   English   中英

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。

基本上,當您在Java中讀取類似的String ,可以保留表示形式,請參見此處的示例: https : //ideone.com/krMJRf

在新的InteliJ hello-world模板應用程序中,同樣的事情也可以正常工作。

我想,但您沒有在問題中提及-您正在讀取文件。 該文件需要具有良好的編碼才能起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM