我有一个以 utf-8 数据编码的文本文件“abc.txt”,它是一组来自 wikipedia page 的表情符号:
(^_^) 开心
我的代码将此信息从文件中提取到 netbeans 标准输出
我的代码:
public static void main(String[] args) throws FileNotFoundException {
Scanner sc=new Scanner(new File("abc.txt"));
while(sc.hasNext()){
System.out.println(sc.nextLine());
}
}
在 netbeans 中输出是这样的:
在控制台中的输出是:
这是什么角色?
我该如何删除它?
最佳答案
控制台输出看起来像 UTF-8 编码的 Byte Order Mark (BOM,U+FEFF),字节 0xEF 0xBB 0xBF,根据一些遗留的 8 位字符编码被错误解释。
要么保存不带 BOM 的文件,要么让您的程序识别并跳过数据开头的 BOM。
关于java - Netbeans 和控制台中的未知字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697446/