java - 字符unicode值

标签 java utf-8

我有一个以 UTF-8 编码的 XML 文件。当我用 Java 打开它时,一些(理论上有效的)字符仍保持编码状态。例如,我尝试获取 𐌰 字符:

String str = new String(line.getBytes("UTF-8")); System.out.println(str.charAt(pos));

其中 pos 是它应该在的位置。 我得到的是 & 字符。

当我用 Notepad++ 打开它并确保它编码为 UTF-8 时,我遇到了同样的问题。

在我看来,应该有两种方法:从头开始仅获取代码(无字符)或用字符替换所有代码。

我应该做什么以及如何做?

最佳答案

您需要一个合适的 XML 解析器。您可以使用一些反序列化框架来完成该任务(例如 XStreamJAXB ),或者使用 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/

相关文章:

python - 读取以python中不同编码选项保存的文件后的输出差异

php - utf8 中的 'messed up characters' 列表

python-3.x - Rodeo UnicodeDecodeError : 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

Java for 循环中的数组

java - 收到错误 - java.lang.ClassCastException : org. openqa.selenium.chrome.ChromeDriver 无法转换为 com.initialization.DriverInitialization

java - 有没有办法在Azure MobileServiceSyncTable中进行计数查询?

MySQL 查询浏览器工具和 UTF 8 数据错误(?)

java - 验证组件可以保存/检索 UTF8 编码字符串的最低测试是什么

java - RecyclerView 在运行应用程序时未显示

java - 在我的 spring 3.2 测试中 Autowiring webapplicationcotnext