首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTML实体:何时使用十进制与十六进制

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

Stack Overflow用户
提问于 2013-12-04 01:30:06
回答 2查看 24K关注 0票数 31

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

例如,不间断连字符用十进制写成‑,用十六进制写成‑

answer说明十六进制用于Unicode;这是否意味着如果您在文档<head>中使用<meta charset="utf-8">标记,就应该使用十六进制

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

最后一个注意事项:使用十六进制或十进制是否会影响字符的渲染清晰度(清晰度)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-04 04:07:30

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

在含义上没有区别,在浏览器支持上也没有区别(上一代支持十进制引用的浏览器在20世纪90年代才消亡)。

正如@AlexW所描述的,由于字符代码标准的编写方式,十六进制引用比十进制更自然。但是如果你觉得十进制引用更方便,那就使用它们。

此问题与meta标记和字符编码无关。在HTML中引入字符引用的主要原因是,它们允许您输入完全独立于文档编码的字符。这包括在所使用的编码中根本不能直接写入的字符。多亏了它们,您可以输入任何Unicode字符,即使字符编码是ASCII或其他一些有限的编码,如ISO-8859-1。

在过去,通常建议使用命名引用(或“实体引用”,因为它们在经典的超文本标记语言中被正式称为实体引用),因为当按字面意思显示给用户时,像&Omega;这样的引用比像&#x3A9;&#937;这样的引用更容易理解。就web浏览器而言,这已经有十多年没有意义了。但是,例如,电子邮件客户端在这方面可能有点愚蠢。它们可以例如在消息列表中显示这样的引用,即使它们可以在查看消息时正确地解释它们。但似乎没有任何一致的行为可以依靠。

票数 34
EN

Stack Overflow用户

发布于 2016-12-03 07:38:06

总体上

HTML (和XML)提供了三种特殊字符的编码方式:数字十六进制&#x26;、数字十进制&#38; (也称为“字符引用”)和命名&amp; (也称为“实体引用”)。几十年来,它们一直保持同样的有效性,并得到所有主流浏览器的完全支持。它们可以使用任何编码,但始终从Unicode集呈现(与ASCII、ISO拉丁语和Windows拉丁语兼容,减去128-159代码)。

因此,这取决于个人喜好,有几点值得注意。

必然性

如果将适当的字符集meta标记添加到HTML中,则根本不需要对特殊字符进行编码(除了& < > " ',或者更一般地说,只需对松散文本中的& <进行编码)。异常是要对指定编码中不存在的字符进行编码。但如果您使用UTF-8,则无论如何都可以表示Unicode中的任何内容。

简洁性

对于索引10以下的任何字符,decimal较短。标签是&#9;,而不是&#x09;,所以对于包含大量TSV数据的pre标签来说,这可能是值得的。

易用性

命名引用最容易使用和记忆,特别是对于在不同背景和技能集的开发人员之间共享的代码。&lt;&#x3c;直观得多。至于其他人关于相关性的评论,它们实际上仍然被完全支持为W3C标准的一部分,甚至已经在HTML5上得到了扩展。

最佳实践

使用命名或十进制引用可能不是最好的通用实践,因为这些名称是纯英语的,并且是HTML所特有的(即使XML也没有命名引用,除了“五大”之外)。大多数编程语言和字符表都使用十六进制编码,因此当您保持一致时,从长远来看,它会使事情变得更容易和更可移植。尽管对于小项目或特殊情况,这可能并不重要。

更多信息:http://xmlnews.org/docs/xml-basics.html#references

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20357800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档