在java中,class文件的编码方式与编译时javac选择的参数有关(-encoding<编码>指定源文件使用的字符编码),Java的字符串是永远都是unicode的。
问题背景:
比较文本文件(UTF-8编码)中一个首行固定值strA与java中定义的常量strB是否相同,因为strA在首行且在改行的开头,在比较中始终无法相同,在改变文编码格式为GBk后则可以工作,确认与文件编码格式有关,最后确认是由于UTF-8的文件有BOM和无BOM之区别,在有BOM的UTF-8的文件中需要注意文件开头会多出字符,我遇到的情况是多出?问号(i其实就是乱码了),在处理文件时规避掉这个BOM。