2010-03-28 87 views
4

假設我有這樣的代碼:java:我可以將字符串轉換爲字節數組,沒有BOM嗎?

String encoding = "UTF-16"; 
String text = "[Hello StackOverflow]"; 
byte[] message= text.getBytes(encoding); 

如果我在郵件中顯示的字節數組,其結果是:

0000 FE FF 00 5B 00 48 00 65 00 6C 00 6C 00 6F 00 20  ...[.H.e.l.l.o. 
0010 00 53 00 74 00 61 00 63 00 6B 00 4F 00 76 00 65  .S.t.a.c.k.O.v.e 
0020 00 72 00 66 00 6C 00 6F 00 77 00 5D     .r.f.l.o.w.] 

正如你所看到的,有在開始的時候是一個BOM。

如何我:

  1. 產生UTF-16字節數組缺乏一個BOM,從一個字符串?
  2. 從包含UTF-16字符但缺少BOM的字節數組轉換回字符串?

回答

5

您可以使用「UTF-16BE」或「UTF-16LE」作爲編碼來顯式選擇字節順序。請參閱javadocs for Charset

+0

完美,謝謝。 – Cheeso 2010-03-28 04:38:38

相關問題