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