今天在代码上做字符串匹配的时候,发现两个“相同”的字符串,===
竟然是 false
。
根据经验,知道是字符串里面包含了不可见字符。
通过 encodeURIComponent
转换,发现多了 %E2%80%8B 这串字符。从这里可以查找每个编码对应的字符。
都是些奇怪的符号,怎么生成这些符号的,我并没有确切的结论。经过和沟通,推测是从 word 复制导致的。
网上也查了些资料,碰到这个现象的人不少,但没有官方的解释,大家的推测也都是转码导致的。
不过通过现象,我倒想到一个应用在我们在线学习平台上的功能,就是可以在某些字符串的答案里面加入这些不可见的字符,这样就能看到学生是自己打的,还是复制粘贴的了。