最近在做一个项目, 其中用到了读取utf-8的txt文件中的特定字符串.
例如: desc.txt有内容如下:
A
B
C
注意, A是文本的第一行第一个字符.
这个时候问题出来了, 读取文件中的 A, 然后得到A.hashCode 不等于 直接写"A".hashCode
我百思不得其解, 最后想到了我的txt文件是用的微软的"文本编辑器"保存为utf-8, 这个时候微软会在第一个字符前面加入特殊字符BOW.
之后我用notepad++重新保存txt为"utf-8无BOW格式编码", 这个时候读取txt文件中的 A, 然后得到A.hashCode 就等于 直接写"A".hashCode
总结,大家在项目中, 要避免用微软的"文本编辑器"保存为utf-8格式的txt文本.