0

のような XML からユニコード文字を読み取っています\u09A8\u09AC\u09AE<?xml version="1.0" encoding="utf-8"?>XMLの見出しで使用しています。パーサーを使用してサーバーから xml をKXML2解析すると、すべての Unicode 文字が文字列になります。それを文字配列に変換すると、次のようになります。

文字 0: \

Char 1: う

シャア 2: 0

シャア 3: 9

Char 4: B

Char 5: え

Unicode 文字を元に戻すにはどうすればよいですか?

4

1 に答える 1

1

In XML\u09A8はXMLの Unicode 文字参照ではありません!

\uUnicode エスケープの始まりとして扱われる場所はわずかしかなく、ほとんどが Java 領域にあります。

XML では、16 進数の Unicode エスケープは に&#x09A8;なり、10 進数のエスケープは になります&#2472;

言い換えると、文字\, u, 0, 9,BE返されます。これは XML に含まれているためです。

最善の解決策は、この XML を生成するものを修正して、実際の数値エンティティ参照を使用することです。\u別の方法として、エスケープを対応する文字に手動で置き換えることもできますが、その場合、コードだけがこの非標準 XML を正しく解釈します。

于 2011-08-09T11:08:48.593 に答える