Jon*_*n W 5

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

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

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

  • 对不起。可读吗?我认为您永远不应该使用 HTML 实体,而应该始终对页面使用 UTF-8 编码。 (4认同)
  • 是的,但这并不是真正的问题,除非您正在以一种编码读取页面,就好像它有另一种编码一样,这就是您正在做的事情。因此,除非您在采用 ASCII 编码(例如 tcpdump)的情况下阅读 html,否则 html 实体的可读性并不高。 (2认同)

Zor*_*orf 5

更多地将 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 被称为“可变长度”。