2014-08-31 56 views
0

在Java中,如果我使用字符集UTF-16创建OutputStreamWriter,Java是否规定默认字节顺序(UTF-16BEUTF-16LE),或者默认依赖于底层操作系统。Java OutputStreamWriter默认字节顺序

注:我看到有些人则默认为UTF-16BE,援引Charset API documentation,但我说的文档的解释是,它适用于UTF-16输入流的解释没有BOM, 和一无所知说在没有指定的字节顺序 时使用UTF-16的所需行为(如果有的话)OutputStreamWriter

回答

1

的文档指定使用UTF-16:

解码时,UTF-16字符集在输入数据流的开始解释字节顺序标记,以指示该流的字节顺序,但如果没有字节顺序标记,则默认为big-endian; 编码时,它使用big-endian字节顺序并写入big-endian字节顺序标记。

+0

哇,今天早上我一定很累,错过了那部分。感谢您指出了这一点。 – 2014-08-31 21:15:17