当前位置: 首页 > 面试题库 >

从Java中的字符串中删除BOM

樊令秋
2023-03-14
问题内容

我在文件中有一个字符串,其中包含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");


 类似资料:
  • 问题内容: 我有一个包含非ASCII字符的URI,例如: http://www.abc.de/qq/qq.ww?MIval=typo3_bsl_int_Smtliste&p_smtbez=Schmalbl -ttrigeSomerzischeruchtanb 如何从此URI中删除“ …” 问题答案: 我猜想URL的来源更多是错误的。也许您正在解决错误的问题?从URI中删除“奇怪”字符可能会赋予它完

  • 问题内容: 可以说我有这个单词列表: 比我有文字 是否有匹配stopWords并在忽略大小写时将其删除的方法;像这样的地方?: 结果: 如果您了解正则表达式,效果很好,但我真的更喜欢像Commons解决方案这样的东西,它更注重性能。 顺便说一句,现在我正在使用此通用方法,该方法缺少适当的不区分大小写的处理: 问题答案: 这是不使用正则表达式的解决方案。我认为它不如我的其他答案,因为它更长且不清楚,

  • 问题内容: 如何从字符串中删除奇怪的和不需要的Unicode字符(例如带问号的黑色菱形)? 更新: 请告诉我对应于“其中带有问号的黑色菱形”的Unicode字符串或正则表达式。 问题答案: 带问号的黑色菱形不是unicode字符- 它是字体无法显示的字符的占位符。如果字符串中存在一个字形,而该字形不是用于显示该字符串的字体,则将看到占位符。定义为U + FFFD:它的外观取决于您使用的字体。 您可

  • 问题内容: 我有这样的字符串 我想删除,并从。我希望结果是。我怎样才能做到这一点? 问题答案: 正则表达式与replaceAll。 如果您只想在成对时删除\ r \ n(上面的代码删除了\ r或\ n),请执行以下操作:

  • 问题内容: 我想做一个获取字符串的函数,以防它有内联注释时将其删除。我知道这听起来很简单,但是我想确保即时消息正确执行,例如: 我考虑了两种方法:否则请随时咨询 迭代字符串并找到双行括号并使用substring方法。 正则表达式的方式..(我不太确定回合吧) 您能告诉我什么是最好的方法,并告诉我应该怎么做吗?(请不要建议太高级的解决方案) 编辑:可以使用Scanner对象以某种方式完成此操作吗?(

  • 问题内容: 如何从字符串中删除变音符号? 例如,转换适用于所有语言的所有á-> a,č-> c等。 我正在进行全文搜索,因此需要忽略搜索文字的任何变音符号。 谢谢 问题答案: 使用9级以上的API,您可以使用Normalizer类,例如 (Keysers链接的答案看起来更好,它可以清除更多废话) 这将返回。