HTML 字符实体¶
HTML 字符引用用于表示具有语法意义、难以输入或容易混淆的 Unicode 字符。 现代文档应使用 UTF-8,普通中文和大多数符号可以直接书写。
常见引用¶
| 字符 | 命名引用 | 数字引用 | 常见用途 |
|---|---|---|---|
< |
< |
< |
显示小于号,避免被当作标签开头 |
> |
> |
> |
显示大于号 |
& |
& |
& |
显示与号,避免开始字符引用 |
" |
" |
" |
双引号 |
' |
' |
' |
单引号 |
| 不换行空格 | |
  |
防止特定位置换行 |
命名与数字形式¶
数字引用可用十进制 © 或十六进制 ©。
命名引用更易读,但并非每个 Unicode 字符都有常用名称。
在源码中保留分号可避免与后续字母或数字产生解析歧义。
空格不是布局工具¶
HTML 通常会折叠连续普通空白。
不要用一串 对齐内容;应使用 CSS 的 gap、margin、Grid 或 Flexbox。
只适合确实不能在该处换行的文本组合,并应谨慎使用。
源码示例¶
要在页面中展示 HTML 标签,需要转义尖括号:
在 Markdown 文档中,围栏代码块通常能直接呈现标签;具体仍取决于渲染器。
字符引用与安全¶
字符引用不是通用的“安全过滤器”。 HTML 文本、HTML 属性、URL、JavaScript 和 CSS 是不同上下文,需要不同处理方式。 把数据先转义再拼入脚本,仍可能进入错误的解析上下文。
模板系统应默认进行上下文相关编码,并避免让普通数据进入原始 HTML 接口。 解码后再使用的数据也必须按新的目标上下文重新处理。
检查清单¶
- 文档、HTTP 响应头和编辑器统一使用 UTF-8。
- 必要时转义
<、&等会影响 HTML 解析的字符。 - 不用字符实体堆砌间距或绘制页面布局。
- 不把一次 HTML 转义误认为适用于 URL、脚本和样式上下文。
- 检查复制粘贴后是否出现外观相似但含义不同的 Unicode 字符。
下一篇:HTML URL。