从Java中的字符串中删除BOM

我在文件中有一个字符串,其中包含BOM(来自UTF-8)。我想将此字符串转换为win-1251并将其放入文件中。

我试图以这种方式从字符串中删除BOM:

out.write(l.replace('\uFEFF','\0') + "\n");

但这不起作用。为什么?

此字符串在win-1251文件中的输出:

?1,...SOME_TEXT_HERE

首先是“?” 标志是非法的。

回答:

您用U + 0000代替BOM表,而不是空字符串。您应该用空字符串替换BOM,例如

out.write(l.replace("\uFEFF", "") + "\n");

以上是 从Java中的字符串中删除BOM 的全部内容, 来源链接: utcz.com/qa/409683.html

回到顶部