如何使用java将ASCII扩展字符(其ascii代码> 127)写入XML文件?

时间:2010-01-21 16:56:44

标签: java xml character-encoding

我从不同的来源阅读文本,这些文字可以包含来自不同语言/扩展字符的字符,例如“...”†“©。然后我应该写一个XML文件,我在java中使用PrinterWriter来写一个XML文件,无论我读什么字符串。因此,对于ascii大于127的这些类型的扩展字符,在XML文件中会出现非法字符错误,因此如何在写入XML时对其进行正确编码。

2 个答案:

答案 0 :(得分:2)

首先,不存在127以上的ASCII码.ASCII仅定义最多127的值。“扩展ASCII”是一个含糊不清的术语,因为它用于描述许多不同的编码。

现在,对于XML:使用您想要编写字符串的XML API,而不必担心内容(只要它们在XML中可表示; U + 0000到U + 001F范围内的各种控制字符都不是'不幸的是,这是可以表示的。 不要尝试从头开始创建XML - 这就是XML API的用途。确保您的XML文档使用的编码将处理您需要的字符(UTF-8通常是一个不错的选择,通常是默认选项),请确保您的Java字符串中包含正确的Unicode数据,并且您应该没事。

编辑:我之前没有发现过这一点:

  

我在java中使用PrinterWriter来写入XML

别。请使用XML API。周围有很多,你会担心的更少。我也不建议大多数情况下使用PrintWriter - 在大多数情况下,抑制异常并不是一个好主意。

答案 1 :(得分:1)

使用&#value;语法。空间为