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

3
我有两个字符串,一个在HTML文件中,另一个在JS文件中,在我的IED(VSCODE)和任何文本编辑器中看起来完全相同。我可以搜索这个值并找到两个字符串,因为两个单词之间的空格不同。我使用ASCII值工具查找了这些差异,差异如下:string 1使用32 20 40(DEX,HEX,OCT),而string 2使用160 A0 240(DEX,HEX,OCT)。这是什么意思?我该如何使HTML和JS保持一致?

2
HEX 20 = 空格, A0 = 不可断行空格。 - Keith
1个回答

3

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

  • 字符串1(Dec 32、Hex 20):空格
  • 字符串2(Dec 160、Hex A0):不间断空格

在文本编辑器中,它们看起来完全相同,因为它们是不可打印的字符。不间断空格的作用就像空格一样,只是在文本换行时防止自动换行。

如果你想让这些值相同,你需要将第一个值更改为不间断空格字符,或者将第二个值更改为常规空格字符。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接