Encoding 当使用UTF-8时,是否最好使用十进制或十六进制引用国际使用的字符。。。为什么?

Encoding 当使用UTF-8时,是否最好使用十进制或十六进制引用国际使用的字符。。。为什么?,encoding,character-encoding,html-entities,Encoding,Character Encoding,Html Entities,当使用UTF-8时,哪个字符引用更好,或者在各种浏览器上得到更广泛的支持。。。使用十进制引用还是十六进制引用 更新 例如,为了替换引号 " or " 使用哪一种更好,为什么?所有HTML实体都只使用ASCII子集,因此,与扩展ASCII的任何其他面向字节的编码不同,您使用UTF-8编码文档的事实是不相关的 无论如何: 当使用UTF-8时,您可以将相关字符复制并粘贴到文档中,而无需任何引用。例如,StackOverflow不会转换此值⫅ 到实体(请参阅本页

当使用UTF-8时,哪个字符引用更好,或者在各种浏览器上得到更广泛的支持。。。使用十进制引用还是十六进制引用

更新

例如,为了替换引号

"  or  "

使用哪一种更好,为什么?

所有HTML实体都只使用ASCII子集,因此,与扩展ASCII的任何其他面向字节的编码不同,您使用UTF-8编码文档的事实是不相关的

无论如何:

  • 当使用UTF-8时,您可以将相关字符复制并粘贴到文档中,而无需任何引用。例如,StackOverflow不会转换此值⫅ 到实体(请参阅本页的来源)

  • 如果您喜欢使用实体,那么我将使用十六进制引用,因为这是Unicode代码点通常在图表中写入的方式。引用是如此广泛地被支持,以至于我认为您不会遇到既没有十六进制引用也没有十进制引用的兼容性问题


十进制引用和十六进制引用之间没有功能上的区别。旧浏览器是后者,但我们现在谈论的是真正的旧浏览器,如Netscape 4和IE 4

十六进制参考通常更方便,因为在字符代码标准和其他参考著作中,字符是通过十六进制代码编号来引用的。使用它们可以避免从十六进制到十进制的转换(从而可以避免一些错误)

没有理由使用
"
"在文本中。(在属性值中,在极少数情况下需要它们或
。)


这并不依赖于文档编码(UTF-8或其他),除非在使用UTF-8时,您不需要引用(除了标记重要字符
@ybungalobill.com以外。对我来说,这不是在网页中使用HTML实体的问题,而是从服务器安全地来回发送HTML类型的数据的更简单的方法,以避免特殊字符成为安全问题。@Epiphany:特殊字符如何可能是一个安全问题m?在任何情况下,安全负担都在于解释数据的部分,而不是您编码和传输文档的方式。我始终倾向于直接使用UTF-8,而不使用实体,因为它更紧凑、更直观。此外,即使IE也能正确地呈现它。发送到服务器的任何意外字符数据都可能带来安全风险,并且软管字符可以是不同的,这取决于后端用来处理数据的语言。当使用白名单方法时,试图解析这些安全风险要容易得多,因为这里有很多页面会告诉你为什么不能让黑名单方法既实用又不安全。特别是纯Unicode范围内的不安全字符;当处理层中使用元字符的ASCII字符在没有正确引用或转义的情况下被传递时,通常会出现安全问题……著名的最后一句话;您知道的下一件事是,将有一个漏洞利用SupVote来完成我的问题的其余部分我在寻找答案。