Проблема специальных символов в J2ME

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

Char 0: \

Чар 1: ты

Чар 2: 0

Чар 3: 9

Чар 4: B

Char 5: E

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

1 ответ

Решение

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

Есть только несколько мест, которые лечат \u как начало побега Юникода, и они в основном в области Java.

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

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

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

Другие вопросы по тегам