第 2 课
命名实体与数字实体
对比命名、十进制与十六进制实体形式。
同一个字符往往可以用多种实体形式表示。以版权符号 © 为例:
- 命名:
© - 十进制:
© - 十六进制:
©
解码后,三者得到相同的 Unicode 字符。
可读性 vs 覆盖范围
命名实体 在模板和 CMS 字段里更易读,编辑一眼能认出 、<。
数字实体 适用于任意 Unicode 码点,包括没有标准命名别名的字符,对冷门符号或遗留编码尤其重要。
往返行为
编码后再解码,若规则一致,原始文本的字符 通常应一致。但 实体字符串 可能不同:
©可能编码为©、©或©- 普通空格 vs
(不换行空格与普通空格是不同字符)
要清楚你的流程关心的是 字符一致 还是 实体字符串完全一致。
无分号的遗留写法
部分旧 HTML 使用 © 而不带结尾分号。现代解析器与严格解码器处理可能不同。新内容请优先使用带分号的形式。
如何选择形式
| 目标 | 建议 |
|---|---|
| 模板可读性 | 有命名别名时用命名实体 |
| 完整 Unicode | 十进制或十六进制 |
| 紧凑日志 | 十六进制(大码点有时更短) |
| CMS 兼容 | 与平台默认导出规则一致 |