0

我正在从 XML 中读取 unicode 字符,例如\u09A8\u09AC\u09AE. 我<?xml version="1.0" encoding="utf-8"?>在 XML 的标题中使用过。当我使用解析器从服务器解析 xml 时,KXML2它使每个 unicode 字符成为字符串。如果我将它转换为字符数组,它会给出:

字符 0:\

字符 1:你

字符 2: 0

字符 3: 9

字符 4:B

字符 5:E

我怎样才能找回我的 unicode 字符?

4

1 回答 1

1

在 XML\u09A8不是XML 中的 Unicode 字符引用!

只有少数地方被\u视为 Unicode 转义的开始,它们大多位于 Java 区域。

在 XML 中,十六进制的 Unicode 转义是&#x09A8;,十进制的是&#2472;.

换句话说:你得到了字符\, u, 0, 9, B, E,因为这就是 XML 包含的内容

最好的解决方案是修复生成此 XML 的任何内容以使用实际的数字实体引用。或者,您可以手动将\u转义替换为相应的字符,但只有您的代码才能正确解释此非标准 XML。

于 2011-08-09T11:08:48.593 回答