# 实体和数字字符引用
可以使用有效的 HTML 实体引用和数字字符引用来代替相应的 Unicode 字符,但以下情况除外:
- 在代码块和行内代码中无法识别实体和字符引用。 
- 实体和字符引用不能代替在 CommonMark 中定义结构元素的特殊字符。 例如,虽然 - *可用于代替字面量的- *字符,- *不能替代 在强调分隔符,无序列表标记或专门的换行中的- *。
符合 CommonMark 的解析器无需使用 Unicode 字符或实体引用,来存储有关特定字符是否在源中表示的信息。
实体引用 (opens new window)包含 & + 任何有效的HTML5实体名 + ;。文档https://html.spec.whatwg.org/multipage/entities.json (opens new window)是一个有效实体引用和相应代码的权威来源。
 
示例 321
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
十进制字符 (opens new window)由&#+ 包含 1-7 个阿拉伯数字的字符串 + ; 组成,数字字符引用被解析为相应的 Unicode 字符。 无效的 Unicode 代码点将替换为 REPLACEMENT CHARACTER(U+FFFD)。 出于安全原因,代码点U+0000也将被U+FFFD替换。
 
示例 322
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
十六进制字符 (opens new window)由 &# + X 或 x + 1-6 个十六进制数字 + ; 组成,它们也被解析为相应的 Unicode 字符(这次使用十六进制数字而不是十进制数字)。
 
示例 323
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
以下是一些非实体引用:
 
示例 324
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
尽管 HTML5 中使用了一些没有尾随分号的实体引用(例如©),在这里没有识别,因为这会混淆语法。
 
示例 325
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
不在 HTML5 命名实体列表中的字符串也不会被识别为实体引用:
 
示例 326
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
除了行内代码或代码块(包括 URL,链接标题 (opens new window),围栏代码块 (opens new window)和信息字符串 (opens new window))之外,实体和数字字符引用可以在任何上下文中被识别:
 
示例 327
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
示例 328
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
示例 329
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
示例 330
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
实体和数字字符引用在行内代码和代码块中被视为文字文本:
 
示例 331
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
示例 332
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
实体和数字字符引用不能用于代替表示 CommonMark 文档中结构的符号。
示例 333
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
示例 334
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
示例 335
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
示例 336
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  | 
示例 337
| Markdown | HTML | 效果 | 
|---|---|---|
|  |  |