HTML 实体编码 / 字符实体 (Character Entities)

创建时间:
2016-01-19 14:58
最近更新:
2018-08-08 12:45

Note

  • 2012-12-11 Tony 已在 IE9 中通过 alert('aChar'.charCodeAt(0)) 测试证实 < 形式中的数字 就是单个字符的 Unicode 编码。
  • 2012-12-11 Tony 认为,应该统一使用 < 而不再使用 <

字符实体 的 用途

有些字符在 HTML 里有特别的含义,比如 小于号 < 就表示 HTML 标记 的开始。
通常这个小于号不会显示在我们最终看到的网页里。
TonyRemark: 如果 <> 中间没有文字,将不会被视为 HTML 标记,此时将直接显示大于号或小于号。
如果希望在网页中显示大于号或小于号 就需要使用 HTML 字符实体。

字符实体 的 结构

一个 字符实体 由 三部分 组成:
第一部分 是 一个 & 符号,英文叫 "ampersand";
第二部分 是 "实体名字" 或者是 "# 加上 实体编号" (即某 1 个字符的 Unicode 编码);
第三部分 是 一个 分号。

比如要显示小于号,就可以写 &lt; 或者 &#60;
用 "实体名字" 的好处是比较好理解,一看 lt 大概就猜出是 "less than" 的意思,但是其劣势在于并不是所有的浏览器都支持最新的 "实体名字"。而 "实体编号" 各种浏览器都能处理。
注意 "实体名字" 是区分大小写的。

如何显示空格

通常情况下,HTML 会自动截去多余的空格。不管你加多少空格,都被看做一个空格。
比如你在两个字之间加了 10 个空格,HTML 会截去 9 个空格,只保留一个。
为了在网页中增加空格,你可以使用 &nbsp; 表示空格。

常用

  • &nbsp;
  • &amp;
  • &quot;
  • [: &#91
  • ]: &#93

常用 Unicode 编码

 9 制表 tab
10 换行 LF
13 回车 CR
32 空格 SPACE
160 空格 (下文中说   是   而不是  ,Tony 还没有找到原因。但 Tony 发现,在 IE 中复制   呈现的 “空格”,粘贴至 alert("一个字符".charCodeAt(0)) 中将弹出 32 而不是 160,奇怪且未找到原因)
34 双引号 "
39 单引号 '
37 百分号 %
38 为 &
60 小于号 <
62 大于号 >
61 等号 =
64 为 @
36 为 $
165 为 ¥
169 为 ©
174 为 ®
171 为 «
187 为 » (Tony 一直用于分隔层次路径)
188 为 ¼
189 为 ½
190 为 ¾
216 为 Ø
248 为 ø
42 为 *
215 为 ×
47 为 /
247 为 ÷

Resource

  1. HTML 字符实体
  2. 中文乱码? 不,是 HTML 实体编码