9

UTF-8 和 HTML 实体有什么区别?

4

5 回答 5

4

UTF-8是一种字节级编码的编码方案。

HTML 实体提供了一种在标准(通常是 ASCII)字符空间中表达许多字符的方法。当 UTF-8 不可用时,它还使它们更具人类可读性。

今天 HTML 实体的主要目的是确保看起来像 HTML 的文本呈现为文本。例如,小于或大于运算符 (&lt;&gt;) 在按特定顺序放置时(即 <text>)可能会在意图将它们呈现为文本时意外呈现为 HTML。

于 2010-05-18T18:54:00.483 回答
3

更多地将 UTF-8 视为一种无损和自同步将自然数列表映射到字节流的方法,以便您可以取回自然数(无损),如果您只是落在流的“中间”,那不是一个大问题。(自同步)

每个自然数恰好代表一个“字符”。

HTML 实体是一种以如下方式表示相同自然数的方法:&#127;,代表自然数 127,在 unicode 中表示DEL字符。

在 UTF-8 中,这是字节流:0111 1111

一旦超过 127,它就会变得不止一个八位字节,因此,128 变为:1000 0001 1111 1111

连续两个DEL字符变成0111 1111 0111 1111. UTF-8 的设计方式是,始终可以从字节流中检索“unicode 标量值”的原始列表,即使例如 4 个八位字节的字节流可以映射回 1 到 4 个不同的此类标量价值观。因此,UTF-8 是他们所说的“可变长度”。

于 2010-05-18T19:00:14.940 回答
3
于 2010-05-19T02:08:21.827 回答
2

一吨。HTML 实体主要用于转义 HTML 标记,以便可以在 HTML 中显示(不会混淆显示与输出)。例如,&gt;输出一个 >,而 > 关闭一个标签。虽然您可以使用 HTML 实体生成完整的 Unicode,但它的效率非常低且非常丑陋。

UTF-8 是 Unicode 的多字节编码,它涵盖了如何在经典的 US ASCII 代码页之外显示字符,而无需切换代码页和尝试混合代码页。单个代码点(将其视为一个字符,尽管这并不真正正确)可以由 6 个字节的数据组成。它用于表示基本多语言平面 (BMP) 内外的任何字符,例如重音字符、东亚字符以及凯尔特树书写 (Ogham) 以及其他字符集。

于 2010-05-18T18:54:13.587 回答
0

UTF-8 是一种编码,htmlentities是一种使用户输入安全地显示在页面上的功能,因此 HTML 标记不会直接添加到标记中。请参阅手册

于 2010-05-18T18:55:20.623 回答