8

我已经尝试谷歌很长一段时间来回答为什么 HTML 实体可以用 HTML 十进制或 HTML 十六进制编译。所以我的问题是:

  • HTML十进制和HTML十六进制有什么区别?
  • 为什么有两个系统可以做同样的事情?
4

2 回答 2

9

最初,HTML 名义上基于 SGML,它只有十进制字符引用。后来,在 HTML 4.01 中添加了十六进制替代方案(并很快在浏览器中实现),然后在Web Adaptations Annex中改装为 SGML 。

添加十六进制替代的明显主要原因是所有现代字符代码和编码标准,例如 Unicode,都使用十六进制表示法来表示字符的代码编号。通过 Unicode 编号引用字符的能力,用传统的十六进制表示法编写,只是前缀&#x和后缀;,有助于避免人们从十六进制转换为十进制表示法时可能出现的错误。

于 2013-07-02T17:02:57.260 回答
0

计算机技术中使用了三个基数:

  • 二进制,基数 2,因为最终整数是开关数组,每个开关可以是 on (1) 或 off (0)。
  • 八进制,基数 8,因为每个数字正好代表 3 位,所以很容易转换成二进制。
  • 十进制,基数 10,因为人类有 10 个手指,而且我们是使用这个基数长大的。
  • 十六进制,基数 16,因为与八进制一样,它很容易转换为位,但更好的是,因为 2 个十六进制数字可以正好用 1 个字节表示。例如,如果您看到以十六进制形式给出的 rgba 值 0x00ff00ff,您可以立即看到它表示不透明的绿色。

因此,要回答提出的问题,对于我们中的一些人来说,十六进制是表达整数的自然方式,因为它可以更深入地了解存储。对于其他人,它是十进制的。给每一个他或她自己的人!

以 HTML 示例结尾: can &65536; 是 utf-16 的字符?在十六进制中很容易看出答案是否定的,因为它与 &x10000; 相同。这需要超过 16 位。

于 2013-07-02T12:42:09.643 回答