Проблема специальных символов в J2ME - PullRequest
0 голосов
/ 09 августа 2011

Я читаю символ Unicode из XML, как \u09A8\u09AC\u09AE.Я использовал <?xml version="1.0" encoding="utf-8"?> в заголовке XML.Когда я анализирую xml с сервера, используя парсер KXML2, он превращает каждый символ Юникода в строку.Если я преобразую его в массив символов, он выдаст:

Char 0: \

Char 1: u

Char 2: 0

Char 3:9

Char 4: B

Char 5: E

Как мне вернуть свой юникод?

1 Ответ

1 голос
/ 09 августа 2011

В XML \u09A8 это , а не ссылка на символ Unicode в XML!

Есть только несколько мест, в которых \u рассматривается как начало экранирования Unicode, и онив основном в области Java.

В XML экранированный шестнадцатеричный Unicode будет &#x09A8;, а десятичный - &#2472;.

Другими словами: вы получаете символы \, u, 0, 9, B, E назад, потому что это то, что XML содержит .

best Решение состоит в том, чтобы исправить все, что создает этого XML, чтобы использовать фактические числовые ссылки на сущности.Кроме того, вы можете вручную заменить экранированные символы \u на соответствующие им символы, но тогда только ваш код будет правильно интерпретировать этот нестандартный XML.

...