标签: java unicode docx
我正在解析docx文件(用Java),它有一个32位汉字,使用值F0,A0,9C,8E。但是unicode规范说高代理值需要在D800-DBFF范围内。
第一个值是什么/为什么/如何允许F0A0?
Java以某种方式将其转换为E2,96,AB,E2,96,AB。知道发生了什么吗?
更新
好的,这是在document.xml(在docx文件中),它设置为UTF-8。我正在使用dom4j阅读它。所以问题很可能是它如何将其读入字符串或将其写回。
如何在String对象中表示它?