2014-08-31 52 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