HTML实体何时使用十进制与十六进制?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (101)

对于HTML实体何时使用十进制和十六进制符号,有没有一个很好的经验法则?

例如,一个非分行连字符以十进制表示,‑并以十六进制表示‑

十六进制是用于Unicode的; 如果<meta charset="utf-8">在文档中使用标签,是否应该使用十六进制<head>

偶尔,我会注意到实体字符被错误地渲染而不是它们所代表的实体 - 例如,&amp;在电子邮件主题行或RSS标题中出现(而不是&符号)。避免这种情况是十六进制还是十进制更好?

最后一个考虑:可以使用十六进制还是十进制来影响字符的渲染清晰度(清晰度)?

提问于
用户回答回答于

经验法则是:使用任何你喜欢的,但更喜欢十六进制。

在意义上没有区别,在浏览器支持上没有区别(支持十进制引用的最后一个浏览器在20世纪90年代死亡)。

由于写入字符代码标准的方式,十六进制引用比十进制更自然。但如果发现更方便的小数参考,用也没有关系。

这个问题与meta标签和字符编码没有任何关系。字符引用被引入到HTML中的主要原因是它们允许输入完全独立于文档编码的字符。这包括在使用的编码中不能直接写入的字符。即使字符编码是ASCII或其他有限的编码(如ISO-8859-1),也可以输入任何Unicode字符。

用户回答回答于

这些被称为数字字符引用。它们是从SGML派生的,它们的数字部分引用了要显示的字符的特定Unicode代码点。它们允许表示Unicode的字符,即使编写HTML的特定字符集没有引用的字符。无论是用十进制还是十六进制引用代码点都没有关系,除非是非常老的浏览器更喜欢小数。添加了十六进制的支持,因为Unicode代码点以十六进制表示法引用,并且使查找代码点然后添加引用变得容易,而不必转换为十进制

U+007D

=

&#x007D;

回答你的问题:

这个答案说十六进制是用于Unicode的; 如果您<meta charset="utf-8">在文档中使用标签,是否应该使用十六进制?

必须明白,UTF-8向后兼容ASCII / ISO-8859-1。因此,UTF-8的前256个字符在ASCII和UTF-8中将是相同的。Hex对于UTF-8来说更容易,因为截至2013年,有1114112个Unicode代码点。所以写起来&#x110000;

扫码关注云+社区

领取腾讯云代金券