Saya memiliki program di mana saya ingin memasukkan String yang berisi karakter Unicode yang tidak lolos, mis.
String s = "(¬(a) ∨ ((¬(b) ∧ (c ∨ d)) ∨ e))"
Masalahnya adalah string ini sudah salah dibaca, karena karakter Unicode tidak di-escape, jadi jika saya segera mencetaknya, saya mendapatkan:
(¬(a) ⨠((¬(b) ⧠(c ⨠d)) ⨠e))
Sebabnya, jika saya keluar dari karakter Unicode dalam string, itu akan berfungsi dengan baik:
String s = "(\u00AC(a) \u2228 ((\u00AC(b) \u2227 (c \u2228 d)) \u2228 e))"
System.out.println(s);
Output:
(¬(a) ∨ ((¬(b) ∧ (c ∨ d)) ∨ e))
Namun, jika dibandingkan dengan masukan pertama, masukan kedua hanya dapat digambarkan sebagai hal yang tidak menyenangkan, dan semuanya tidak jelas.
Apakah ada cara untuk mempertahankan representasi visual, dan tetap berfungsi?
Pengkodean File adalah UTF-8.