J2ME中的特殊字符问题

时间:2011-08-09 10:54:57

标签: xml java-me special-characters kxml2

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

Char 0:\

Char 1:你

Char 2:0

Char 3:9

Char 4:B

Char 5:E

如何恢复我的unicode角色?

1 个答案:

答案 0 :(得分:1)

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

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

在XML中,十六进制Unicode转义符为&#x09A8;,十进制转义符为&#2472;

换句话说:您获得了字符\u09BE,因为< strong>这就是XML包含的内容。

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