问题
I have string in file, that contains BOM (from UTF-8). I want to convert this string to win-1251 and put it in file.
I trying to remove BOM from string in this way:
out.write(l.replace('\uFEFF','\0') + "\n");
But it don't work. Why?
Output of this string in win-1251 file:
?1,...SOME_TEXT_HERE
First "?" sign is illegal.
回答1:
You're replacing the BOM with U+0000, rather than with an empty string. You should replace the BOM with the empty string, e.g.
out.write(l.replace("\uFEFF", "") + "\n");
来源:https://stackoverflow.com/questions/26847500/remove-bom-from-string-in-java