簡體   English   中英

java:我可以將字符串轉換為字節數組,而無需BOM嗎?

[英]java: can I convert strings to byte arrays, without a 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. 從字符串生成缺少BOM的UTF-16字節數組?
  2. 從包含UTF-16字符但缺少BOM的字節數組轉換回字符串?

您可以使用“UTF-16BE”或“UTF-16LE”作為編碼來明確選擇字節順序。 請參閱Charsetjavadocs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM