编程语言
首页 > 编程语言> > java – UTF-16编码

java – UTF-16编码

作者:互联网

<?xml version="1.0" encoding="UTF-16"?>
    <note>
        <from>Jani</from>
        <to>ALOK</to>
        <message>AshuTosh</message>
    </note>

我有XML解析器,它只支持UTF-8编码,否则它会提供SAX解析器异常.如何将UTF-16转换为UTF-8?

解决方法:

在这种情况下,它不是您正在使用的XML解析器,请参阅section 2.2 of the xml specification

All XML processors MUST accept the UTF-8 and UTF-16 encodings of Unicode

Java xml解析器通常接收包含在InputSource对象中的输入.这可以使用Reader参数构造,该参数对给定的字符集进行字符解码.

InputStream in = ...
InputSource is = new InputSource(new InputStreamReader(in, "utf-16"));

对于“utf-16”charset,流应以字节顺序标记开始,如果不是这种情况,则使用“utf-16le”或“utf-16be”.

标签:java,xml,utf-16
来源: https://codeday.me/bug/20190621/1250972.html