我的一个数据处理模块在读取ANSI输入时崩溃了.使用十六进制查看器查看有问题的字符串,0xA0结尾处有一个神秘的字节.
结果证明这是一个不间断的空间.
我试过替换它:
String s = s.replace("\u00A0", "");
Run Code Online (Sandbox Code Playgroud)
但它没有用.
然后我去打印出该角色正在使用的内容charAt和Java报告
65533
Run Code Online (Sandbox Code Playgroud)
要么 0xFFFD
将其插入替换代码中,我终于摆脱了它!
但为什么我0xA0在文件中看到了一个,但是Java将其读作0xFFFD?
BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(path), "UTF-8"));
String line = r.readLine();
while (line != null){
// do stuff
line = r.readLine();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1102 次 |
| 最近记录: |