今天打开Intellij IDEA,看代码时发现注释里有个方框字符,里面写着LSEP,如下图:
这个LSEP很奇怪,在另一个编辑器里就显示成LS的:
这个符号其实是unicode字符2028。我们用java将这个字符写入html文档中,再用浏览器看看,java代码比较简单:
public static void main(String[] args) throws FileNotFoundException {
final File file = new File("index.html");
try(final PrintStream stream = new PrintStream(file)) {
stream.println("<!doctype html>\n" +
"<meta charset=\"utf-8\"/>\n" +
"<html>\n" +
"<body>");
for (int i = 0; i < 10; i++) {
stream.print("\u2028");
}
stream.println("</body>\n" +
"</html>\n");
}
}
写出来后的HTML源码是这样的:
在浏览器里也是这样的:
但是复制之后粘贴在剪贴板里却成了换行符,所以这就是一个浏览器和主流编辑器不承认的换行符。遇到这种情况,直接使用IDEA的正则表达式替换功能就可以了,如下: