对于何时对HTML实体使用十进制和十六进制表示法,有没有一个很好的经验法则?
例如,不间断连字符用十进制写成‑
,用十六进制写成‑
。
此answer说明十六进制用于Unicode;这是否意味着如果您在文档<head>
中使用<meta charset="utf-8">
标记,就应该使用十六进制
偶尔,我会注意到实体字符被错误地呈现,而不是它们所代表的实体--例如,&
出现在电子邮件主题行或RSS标题中(而不是&符号)。为了避免这种情况,十六进制和十进制中哪一个更好?
最后一个注意事项:使用十六进制或十进制是否会影响字符的渲染清晰度(清晰度)?
发布于 2013-12-04 04:07:30
经验法则是:使用您喜欢的任何一个,但更喜欢十六进制。☺
在含义上没有区别,在浏览器支持上也没有区别(上一代支持十进制引用的浏览器在20世纪90年代才消亡)。
正如@AlexW所描述的,由于字符代码标准的编写方式,十六进制引用比十进制更自然。但是如果你觉得十进制引用更方便,那就使用它们。
此问题与meta
标记和字符编码无关。在HTML中引入字符引用的主要原因是,它们允许您输入完全独立于文档编码的字符。这包括在所使用的编码中根本不能直接写入的字符。多亏了它们,您可以输入任何Unicode字符,即使字符编码是ASCII或其他一些有限的编码,如ISO-8859-1。
在过去,通常建议使用命名引用(或“实体引用”,因为它们在经典的超文本标记语言中被正式称为实体引用),因为当按字面意思显示给用户时,像Ω
这样的引用比像Ω
或Ω
这样的引用更容易理解。就web浏览器而言,这已经有十多年没有意义了。但是,例如,电子邮件客户端在这方面可能有点愚蠢。它们可以例如在消息列表中显示这样的引用,即使它们可以在查看消息时正确地解释它们。但似乎没有任何一致的行为可以依靠。
发布于 2016-12-03 07:38:06
总体上
HTML (和XML)提供了三种特殊字符的编码方式:数字十六进制&
、数字十进制&
(也称为“字符引用”)和命名&
(也称为“实体引用”)。几十年来,它们一直保持同样的有效性,并得到所有主流浏览器的完全支持。它们可以使用任何编码,但始终从Unicode集呈现(与ASCII、ISO拉丁语和Windows拉丁语兼容,减去128-159代码)。
因此,这取决于个人喜好,有几点值得注意。
必然性
如果将适当的字符集meta
标记添加到HTML中,则根本不需要对特殊字符进行编码(除了& < > " '
,或者更一般地说,只需对松散文本中的& <
进行编码)。异常是要对指定编码中不存在的字符进行编码。但如果您使用UTF-8,则无论如何都可以表示Unicode中的任何内容。
简洁性
对于索引10以下的任何字符,decimal较短。标签是	
,而不是	
,所以对于包含大量TSV数据的pre
标签来说,这可能是值得的。
易用性
命名引用最容易使用和记忆,特别是对于在不同背景和技能集的开发人员之间共享的代码。<
比<
直观得多。至于其他人关于相关性的评论,它们实际上仍然被完全支持为W3C标准的一部分,甚至已经在HTML5上得到了扩展。
最佳实践
使用命名或十进制引用可能不是最好的通用实践,因为这些名称是纯英语的,并且是HTML所特有的(即使XML也没有命名引用,除了“五大”之外)。大多数编程语言和字符表都使用十六进制编码,因此当您保持一致时,从长远来看,它会使事情变得更容易和更可移植。尽管对于小项目或特殊情况,这可能并不重要。
https://stackoverflow.com/questions/20357800
复制相似问题