Bootstrap

BUG笔记:BufferedReader.readLine()后无法转化为其他类型(碰到的是String无法转化为Long)

  1. zwnbsp
    zwnbsp是零宽不间断空格(Zero Width No-Break Space)的缩写,也被称为 BOM(Byte Order Mark,字节顺序标记)。

  2. 这个东西gou,本身因为文档看不出来,dubug读取的数据也是看着像没有乱七八糟的东西,但就是有个这个,然后转换别的类型就失败。

  3. 解决方案:
    在 Java 中,可以使用 String 类的 trim() 方法去除字符串首尾的空格和 zwnbsp(零宽不间断空格)。如果你想删除字符串中间的 zwnbsp,可以使用 String 类的 replaceAll() 方法,将 zwnbsp 替换为空字符串。

String str = "\uFEFF Hello World! \uFEFF";
str = str.trim(); // 删除前导和尾随空格和 zwnbsp
str = str.replaceAll("\uFEFF", ""); // 删除中间的 zwnbsp
System.out.println(str); // 输出:Hello World!

!!!!注意!!!!在某些情况下,zwnbsp 可能会被误认为是 Unicode 文件头部的 BOM 字符,导致在读取文本时出现一些问题,因此在实际应用中应该谨慎使用 zwnbsp。

;