前端页面有些复制字段时,如果有 形成的空格,其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]+", " ");
本文探讨了前端HTML中的 空格与Java中普通空格的区别,详细解释了ASCII编码值分别为160和32的空格如何导致看似相同的字符串在Java后端处理时出现差异,提供了正则表达式替换解决方案。
1万+

被折叠的 条评论
为什么被折叠?



