我的问题与这个非常相似,但我在那里没有找到答案。从链接中可以得知,HTML通过数字表示支持ISO 8859/1 8位单字节编码的图形字符的显示,例如: &32;代表空格。 &33;代表感叹号。除非实体名称前缀为#,否则上述内容不会被解析:  代表空格将被解析。 !代表感叹号将被解析。当ISO Latin 1字符实体不遵循相同的标准时,为什么要在这些字符的实体名称前加上#符号呢?可能可以推断出,HTML解析器会以这种方式编写来处理这些字符,但是了解首先引入这种标准的原因将是很好的。
这些内容的详细处理方式在HTML 5规范的解析部分中有详细说明。你需要阅读 "消耗字符引用" 的链接。HTML 3从未相关过,即使是HTML 3.2也早已被取代。ISO文件在这个背景下也不相关。遵循解析算法可能是痛苦的(至少需要一些习惯),但它保证是正确的。
ISO Latin 1 Character Entities
不需要在实体名称前加上#
符号。 - BatScream#
。也许你应该把它们删除,这样人们才能真正看到你在谈论什么。 - Matti Virkkunen&33;
显示为&33;
的页面突然显示为!
。 - Alohci