На случай, если люди используют PrintStream
s, вам нужно сделать это немного по-другому. * * * * * * * * * * * * * * * * * * * * * * * * Writer
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}}} * * * * * * * * * *}} в то время как *1004* будет использовать магию для преобразования одного байта в 3 байта; для PrintStream
требуются все 3 байта спецификации UTF-8:
// Print utf-8 BOM
PrintStream out = System.out;
out.write('\ufeef'); // emits 0xef
out.write('\ufebb'); // emits 0xbb
out.write('\ufebf'); // emits 0xbf
В качестве альтернативы, вы можете использовать шестнадцатеричные значения непосредственно для них:
PrintStream out = System.out;
out.write(0xef); // emits 0xef
out.write(0xbb); // emits 0xbb
out.write(0xbf); // emits 0xbf