java - IntelliJ - 输入未转义的 UTF-8 非 ASCII 字符
问题描述
我有一个程序,我想在其中放入包含未转义 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。
解决方案
基本上,当您String
在 java 中阅读类似内容时,您可以保留演示文稿,请参见此处的示例:https ://ideone.com/krMJRf
同样的事情也适用于新的 InteliJhello-world
模板应用程序。
我想,但你没有在问题中提到 - 你正在阅读一个文件。该文件需要具有良好的编码才能使其工作。
推荐阅读
- python-3.x - Python中的单词替换
- matlab - 如何在 MATLAB 中删除此代码的四个嵌套“for”循环。有什么建议么?
- ruby - Prawn pdf bounding_box 不能跨多个页面工作
- amazon-web-services - 为什么 AWSAppSyncClient 抛出错误网络错误:在 lambda 上离线时缺少乐观响应?
- angular - 在表格组件的 mat-cell(td) 中调用两个不同的变量
- windows - PDF - 删除文件夹中 PDF 中除第一页以外的所有页面
- sql-server - 仅显示 SQL Server 视图中最顶层的记录
- c# - 使用 SevenZipSharp 压缩文件时保留特定目录
- angular - 在 Angular 库中包含很棒的字体
- hibernate - 在基于 XML 的配置中,Hibernate Annotation @NotFound(action=NotFoundAction.IGNORE) 的等效标记是什么?