我正在寻找一个Java中的实用方法或常量,可以返回与编码相应的字节顺序标记的字节,但我似乎找不到。有这样一个方法吗?我真的很想做这样的事情:
byte[] bom = Charset.forName( CharEncoding.UTF8 ).getByteOrderMark();
这里提到的 CharEncoding
是来自于 Apache Commons 的。
我正在寻找一个Java中的实用方法或常量,可以返回与编码相应的字节顺序标记的字节,但我似乎找不到。有这样一个方法吗?我真的很想做这样的事情:
byte[] bom = Charset.forName( CharEncoding.UTF8 ).getByteOrderMark();
这里提到的 CharEncoding
是来自于 Apache Commons 的。
byte[] utf8_bom = "\uFEFF".getBytes("UTF-8");
byte[] utf16le_bom = "\uFEFF".getBytes("UnicodeLittleUnmarked");
据我所见,JDK和Apache项目中都没有任何相关的内容。
不过 Eclipse EMF 中有一个枚举类型提供了支持:
org.eclipse.emf.ecore.resource.ContentHandler.ByteOrderMark
我不确定这对你有没有帮助?
关于每种编码类型的各种BOM,这里还有更多信息,你可以编写一个简单的辅助类或枚举来处理它...
希望这有所帮助。说实话,我很惊讶这不在Commons I/O中。