Skip to content

字符实体

HTML字符实体转换

1 为什么会有字符实体

浏览器在逐字解析html文档时,当遇到 <,会认为是一个元素标签的开头。例如遇到 <h1>就知道接下来要渲染一个标题,而不会将 <h1> 这几个字符显示在浏览器上。

如果我想要在浏览器上显示 <h1> 这几个字符,就得使用字符实体,如 &lt;h1&gt;&#60;th1&#62;

另外,标准键盘能输入的字符是有限的,可以使用字符实体来表示标准键盘难以输入的字体。

2 如何书写字符实体

字符实体是以 & 开头,以 ; 结尾的一段文本,包括两种形式

  • 使用实体名 - &entity_name;
  • 使用实体编号 - &#entity_number;, 以「&#」开头的后接十进制数字,以「&#x」开头的后接十六进制数字

上述两种方式的异同点:

  • 都是以 & 开头,以 ; 结尾
  • 使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。

上面中的 entity_number 其实是字符的 Unicode 的整数(十进制或十六进制)表示,如

  • &#65;&#x41; 都表示 A
  • &#20013;&#x4E2D; 都表示