FileReader 出力に BOM マーカーが含まれる
FileReader を使用して BOM (バイト オーダー マーク) を持つ UTF-8 エンコードされたファイルを読み取る場合)、BOM マーカーが出力文字列に誤って表示される可能性があります。これは、BOM がテキストの UTF-8 エンコード表現の一部として含まれているために発生します。
これが発生する理由を理解するには、BOM が特殊文字または文字列であることを示すことが重要です。テキストファイルのエンコーディング。 UTF-8 の場合、BOM はバイト シーケンス EFBBBF で表されます。
FileReader がファイルを読み取るとき、UTF-8 エンコーディングを使用して文字をデコードします。ただし、BOM は有効な Unicode 文字ではないため、デコード プロセス中にスキップまたは削除されません。代わりに、これは readLine() メソッドによって返される文字列に含まれます。
この問題を回避するには、次の方法を使用できます。
以上がUTF-8 でエンコードされたファイルを読み取るときに FileReader 出力に BOM マーカーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。