Unicode BOM と FileReader
バイト オーダー マーク (BOM) を持つ UTF-8 エンコード ファイルを読み取るときに、次の問題が発生する可能性があります。ファイルの内容とともに出力される BOM マーカーの。これは、Unicode がエンコードされたテキストのエンディアンを指定する BOM を定義しているために発生します。BOM は、適切に処理されないと文字シーケンスとして解釈される可能性があります。
コード スニペット内:
BOM マーカーが出力:
String content = new String(Files.readAllBytes(Paths.get(file)), "UTF-8"));
if (tmp.length >= 3 && tmp[0] == (byte) 0xEF && tmp[1] == (byte) 0xBB && tmp[2] == (byte) 0xBF) { // Remove the BOM marker tmp = Arrays.copyOfRange(tmp, 3, tmp.length); }
以上がUTF-8 でエンコードされたファイルを読み取るときに BOM マーカーの出力を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。