前端页面有些复制字段时,如果有 形成的空格,其ascii编码值为160,普通空格ascii编码值是32。
两种在java后端语言中是不同的容易造成看起来一样的字符串但实际值不同的bug
eg:
//空格为ASCII码160的字符串,返回true
System.out.println("black PREP FFPE DNA kit".contains(StringEscapeUtils.unescapeHtml4(" ")));
//空格为ASCII码32的字符串,正常的空格,返回fasle
System.out.println("black PREP FFPE DNA kit".contains(StringEscapeUtils.unescapeHtml4(" ")));
//java中对第一种情况的处理,正则替换
String s = "black PREP FFPE DNA kit";
s=s.replaceAll("[\\s\\u00A0]+", " ");