UTF-8是一种字节级编码的编码方案。
HTML 实体提供了一种在标准(通常是 ASCII)字符空间中表达许多字符的方法。当 UTF-8 不可用时,它还使它们更具人类可读性。
如今 HTML 实体的主要目的是确保看起来像 HTML 的文本呈现为文本。例如,小于或大于运算符 (<
或>
) 按特定顺序放置时(即 <text>)可能会意外地呈现为 HTML,而其本意是呈现为文本。
更多地将 UTF-8 视为一种无损和自同步将自然数列表映射到字节流的方法,以便您可以恢复自然数(无损),如果您只是落在流的“中间”,则不是一个大问题。(自同步)
每个自然数恰好代表一个“字符”。
HTML 实体是一种表示相同自然数的方法,如下所示:
,代表自然数 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 被称为“可变长度”。