一尘不染

如何使记事本在没有BOM的情况下以UTF-8保存文本?

java

我有一个带有特殊重音的CSV文件,并通过选择UTF-8编码将其保存在记事本中。当我使用Java读取文件时,它也会读取BOM表字符。

因此,我想以UTF-8格式保存此文件,而不必最初在记事本中附加BOM。

否则,Java中是否有内置类可以消除读取文件内容时开头出现的BOM字符?


阅读 944

收藏
2020-03-22

共1个答案

一尘不染

  1. 使用Notepad -免费且比Notepad好得多。使用Enconding > 在没有BOM的UTF-8中进行编码,将有助于在没有BOM的情况下保存文本: Notepad 菜单栏>编码>在Notepad ++ v6.7.9.2中使用无BOM菜单的UTF-8中进行编码的屏幕快照

  2. 当我在Java中遇到此问题时,我没有找到任何库来解析前三个字节(BOM)。所以我的建议是:

  3. 使用PushbackInputStream(in, 3)。

  4. 读取前三个字节
  5. 如果不是BOM(EF BB BF),请将其推回
  6. 以UTF-8处理流
2020-03-22