HTML 的实体字符(HTML Entities)是用于显示某些特殊字符或符号的编码形式。

HTML 中某些符号具有特殊含义,例如 <, >, & 等字符不能直接在网页内容中使用,所以需要使用实体字符来表示它们。

常见的 HTML 实体字符

  1. 空格和控制字符
  • &nbsp;:空格字符 (non-breaking space)
&nbsp; <!-- 表示一个空格 -->
  • &lt;:小于号 <
&lt;div&gt; <!-- 表示 <div> -->
  • &gt;:大于号 >
&gt;/div&gt; <!-- 表示 </div> -->
  • &amp;:与符号 &
&amp; <!-- 表示 & -->
  • &quot;:双引号 "
&quot;Hello&quot; <!-- 表示 "Hello" -->
  • &apos;:单引号 '
&apos;Hello&apos; <!-- 表示 'Hello' -->
  1. 数学符号
  • &plus;:加号 +
  • &minus;:减号
  • &times;:乘号 ×
  • &divide;:除号 ÷
  1. 货币符号
  • &dollar;:美元符号 $
  • &euro;:欧元符号
  • &pound;:英镑符号 £
  • &yen;:日元符号 ¥
  1. 其他常见符号
  • &copy;:版权符号 ©
  • &reg;:注册商标符号 ®
  • &trade;:商标符号
  • &sect;:章节符号 §
  • &deg;:度数符号 °
  1. 希腊字母
  • &alpha;:α
  • &beta;:β
  • &gamma;:γ
  • &delta;:δ

为什么需要实体字符?

  • 避免 HTML 解析冲突:例如 <, >, & 等符号在 HTML 中有特定的用途,用实体字符可以避免冲突。
  • 显示特殊符号:例如版权符号、商标符号或货币符号等,不能直接在键盘上输入,使用实体字符可以确保正确显示。

常见考点

1. HTML 实体字符的定义与作用

  • 什么是 HTML 实体字符?为什么需要使用它们?
  • 实体字符用于在 HTML 中显示特殊符号(如 <, >, &, " 等)或不可见字符(如空格 、换行符等),避免与 HTML 语法冲突。

2. 常见的 HTML 实体字符

  • &lt;:小于号 <
  • &gt;:大于号 >
  • &amp;:与符号 &
  • &quot;:双引号 "
  • &apos;:单引号 '
  • &nbsp;:不间断空格

3. Unicode 和 ASCII 编码的实体字符

  • HTML 支持通过 &#xNNNN;(十六进制)或 &#NNNN;(十进制)表示 Unicode 字符。例如:
    • &#x2665;&#9829; 表示 ♥
  • 考察点可能涉及通过实体字符显示 Unicode 表情符号、语言字符等。

4. 转义字符

  • 在 HTML 中如何使用实体字符进行转义?
  • 为什么需要转义符号(如 <, >, &)?特别是在 HTML 元素内嵌 JavaScript 或样式时需要避免歧义。
  • 安全性方面的考量,尤其是防止 XSS(跨站脚本攻击)。

5. 空白字符

  • &nbsp;(不间断空格):防止自动换行或保留多个空格。
  • &ensp; 和 **&emsp;**:半角和全角空格符号。
  • 实体空白符在排版和布局中的应用(如对齐、占位)。

6. 其他常见实体字符

  • 货币符号:如 &yen;(¥)、&euro;(€)。
  • 数学符号:如 &plusmn;(±)、&times;(×)、&divide;(÷)。
  • 特殊符号:如 &copy;(©)、&reg;(®)、&trade;(™)。

7. HTML5 实体字符扩展

  • HTML5 中新增的一些实体字符,如:
    • **&le;**(≤)和 &ge;(≥)
    • &bull;(•)用于列表符号
    • &hellip;(…)省略号

8. 实体字符与浏览器兼容性

  • 浏览器如何处理不支持的实体字符?
  • 考察点可能涉及浏览器对不同编码的支持,以及如何确保兼容性。

9. HTML 实体字符与国际化

  • 如何通过实体字符支持多语言文本?
  • 考察 Unicode 与实体字符在国际化中的应用,如如何使用实体字符表示非 ASCII 字符。

10. HTML 实体字符在输入表单中的应用

  • 在表单中,如何防止特殊字符输入导致 HTML 注入攻击?
  • 使用实体字符保护表单数据的完整性和安全性。