Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不以D800–;开头的代理项对;DBFF_Java_Unicode_Docx - Fatal编程技术网

Java 不以D800–;开头的代理项对;DBFF

Java 不以D800–;开头的代理项对;DBFF,java,unicode,docx,Java,Unicode,Docx,我正在解析一个docx文件(在Java中),它有一个32位的汉字,使用值F0、A0、9C、8E。但unicode规范规定,高代理项值需要在D800–DBFF范围内 什么/为什么/如何允许第一个值为F0A0 Java以某种方式将其转换为E2,96,AB,E2,96,AB。知道这是怎么回事吗 更新: 好的,这在docx文件中的document.xml中,它被设置为UTF-8。我正在用dom4j阅读它。因此,问题很可能是如何将其读入字符串或将其写回 字符串对象中应如何表示此字符?Hmm.U+F0A0被

我正在解析一个docx文件(在Java中),它有一个32位的汉字,使用值F0、A0、9C、8E。但unicode规范规定,高代理项值需要在D800–DBFF范围内

什么/为什么/如何允许第一个值为F0A0

Java以某种方式将其转换为E2,96,AB,E2,96,AB。知道这是怎么回事吗

更新:

好的,这在docx文件中的document.xml中,它被设置为UTF-8。我正在用dom4j阅读它。因此,问题很可能是如何将其读入字符串或将其写回


字符串对象中应如何表示此字符?

Hmm.U+F0A0被报告为无效,但有一个中文字形:U+9C8E是“Unicode汉字‘king crab’”-这两个字符中有一个是您要查找的字符吗?@JonSkeet整个序列在Word文件中显示为单个字符,而不是两个。我认为这是一个UTF-8 4字节序列(见我的编辑)。好吧,听起来这是代理项对d841,df0e,它的结尾是-这看起来像文档中的字符吗?(F0 A0 9C 8E是原始文档中的字节吗?@JonSkeet-是的,这是原始xml文件中的字节序列。谢谢你的帮助!