字符串比较 - 两个字符看起来相同但具有不同的ASCII值?

时间:2016-11-14 22:24:48

标签: javascript html string string-comparison

我有两个字符串,一个在HTML文件中,一个在JS文件中,在我的IED(VSCODE)和任何文本编辑器中看起来都相同。

我可以搜索该值并查找两个字符串,因为两个作品之间的空间有所不同,我用ASCII值工具查看了这些字符串,区别如下: / p>

字符串1使用32 20 40(DEX,HEX,OCT)
字符串2使用160 A0 240(DEX,HEX,OCT)

这是什么以及如何使HTML和JS保持一致?

1 个答案:

答案 0 :(得分:2)

如果你查找与这些ASCII码相关的字符(一个好的资源是https://ascii.cl/htmlcodes.htm),你会发现这些值:

  • 字符串1(12月32日,十六进制20):空格
  • 字符串2(Dec 160,Hex A0): Non-breaking space

在文本编辑器中,它们看起来完全相同,因为它们是非打印字符。一个不间断的空间就像一个空格,除了它阻止文本被包装时它的位置自动换行。

如果您希望这些值相同,则必须将第一个值更改为不间断空格字符,或将第二个值更改为常规空格字符。

有关特殊字符的更多信息:https://www.w3.org/MarkUp/html3/specialchars.html