Java读取带有BOM的UTF-8文件乱码问题

在java中,class文件的编码方式与编译时javac选择的参数有关(-encoding<编码>指定源文件使用的字符编码),Java的字符串是永远都是unicode的。

问题背景:

比较文本文件(UTF-8编码)中一个首行固定值strA与java中定义的常量strB是否相同,因为strA在首行且在改行的开头,在比较中始终无法相同,在改变文编码格式为GBk后则可以工作,确认与文件编码格式有关,最后确认是由于UTF-8的文件有BOM和无BOM之区别,在有BOM的UTF-8的文件中需要注意文件开头会多出字符,我遇到的情况是多出?问号(i其实就是乱码了),在处理文件时规避掉这个BOM。

猜你喜欢

转载自blog.csdn.net/cpp1781089410/article/details/81155835
今日推荐