Java OutputStreamWriter默认字节顺序

时间:2014-08-31 17:39:43

标签: java character-encoding outputstream endianness

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

注意:我看到其他人声称默认值为UTF-16BE,引用Charset API documentation,但我对所述文档的解释是,它适用于UTF-16输入流的解释,而不是BOM,,并且没有说明在没有指定字节序的情况下使用UTF-16 OutputStreamWriter所需的行为(如果有的话)

1 个答案:

答案 0 :(得分:1)

doc指定使用UTF-16:

  

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