我有一个以 UTF-8 编码的 XML 文件。当我用 Java 打开它时,一些(理论上有效的)字符仍保持编码状态。例如,我尝试获取 𐌰
字符:
String str = new String(line.getBytes("UTF-8"));
System.out.println(str.charAt(pos));
其中 pos 是它应该在的位置。
我得到的是 &
字符。
当我用 Notepad++ 打开它并确保它编码为 UTF-8 时,我遇到了同样的问题。
在我看来,应该有两种方法:从头开始仅获取代码(无字符)或用字符替换所有代码。
我应该做什么以及如何做?
最佳答案
您需要一个合适的 XML 解析器。您可以使用一些反序列化框架来完成该任务(例如 XStream 或 JAXB ),或者使用 Java 提供的 DOM 解析类: org.w3c.dom
以下是使用 org.w3c.dom
包的一些示例:How to read XML file in Java
我个人偏好是 XStream 库,但这可能取决于 XML 文件的复杂性。
关于java - 字符unicode值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8258823/