ฉันมีโปรแกรมที่ฉันต้องการใส่ใน Strings ที่มีอักขระ Unicode ที่ไม่ใช้ Escape เช่น
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