【前言】
转义字符(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。
【转义字符串的组成】
转义字符串(Escape Sequence),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。
比如,要显示小于号(<),就可以写 < 或者 < 。
用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。
提示:实体名称(Entity)是区分大小写的。
备注:同一个符号,可以用“实体名称”和“实体编号”两种方式引用,“实体名称”的优势在于便于记忆,但不能保证所有的浏览器都能顺利识别它,而“实体编号”则没有这种担忧,但它实在不方便记忆。
【转译符】
HTML常用转义字符列表
| 显示 | 说明 | 实体名称 | 实体编号 |
|---|---|---|---|
| 半方大的空白 |   |
  |
|
| 全方大的空白 |   |
  |
|
| 不断行的空白格 | |
  |
|
| < | 小于 | < |
< |
| > | 大于 | > |
> |
| & | &符号 | & |
& |
| “ | 双引号 | " |
" |
| © | 版权 | © |
© |
| ® | 已注册商标 | ® |
® |
| ? | 商标(美国) | ? |
™ |
| × | 乘号 | × |
× |
| ÷ | 除号 | ÷ |
÷ |
ISO 8859-1 (Latin-1)字符集
HTML 4.01 支持 ISO 8859-1 (Latin-1) 字符集。
| 显示 | 名称 | 编号 | 显示 | 名称 | 编号 |
|---|---|---|---|---|---|
|
  |
¡ | ¡ |
¡ |
|
| ¥ | ¥ |
¥ |
¦ | ¦ |
¦ |
| ª | ª |
ª |
« | « |
« |
| ¯ | ¯ |
¯ |
° | ° |
° |
| ´ | ´ |
´ |
µ | µ |
µ |
| ¹ | ¹ |
¹ |
º | º |
º |
| ¾ | ¾ |
¾ |
¿ | ¿ |
¿ |
| Ã | Ã |
à |
Ä | Ä |
Ä |
| È | È |
È |
? | É |
É |
| ? | Í |
Í |
Î | Î |
Î |
| Ò | Ò |
Ò |
? | Ó |
Ó |
| × | × |
× |
Ø | Ø |
Ø |
| Ü | Ü |
Ü |
? | Ý |
Ý |
| á | á |
á |
â | â |
â |
| æ | æ |
æ |
ç | ç |
ç |
| ë | ë |
ë |
ì | ì |
ì |
| ð | ð |
ð |
ñ | ñ |
ñ |
| õ | õ |
õ |
ö | ö |
ö |
| ú | ú |
ú |
û | û |
û |
| ¢ | ¢ |
¢ |
£ | £ |
£ |
| § | § |
§ |
¨ | ¨ |
¨ |
­ |
­ |
® | ® |
® |
|
| ÿ | ÿ |
ÿ |
¬ | ¬ |
¬ |
| ² | ² |
² |
³ | ³ |
³ |
| · | · |
· |
¸ | ¸ |
¸ |
| ¼ | ¼ |
¼ |
½ | ½ |
½ |
| ? | Á |
Á |
 |  |
 |
| Æ | Æ |
Æ |
Ç | Ç |
Ç |
| Ë | Ë |
Ë |
Ì | Ì |
Ì |
| Ð | Ð |
Ð |
Ñ | Ñ |
Ñ |
| Õ | Õ |
Õ |
Ö | Ö |
Ö |
| ? | Ú |
Ú |
Û | Û |
Û |
| ß | ß |
ß |
à | à |
à |
| ä | ä |
ä |
å | å |
å |
| é | é |
é |
ê | ê |
ê |
| î | î |
î |
ï | ï |
ï |
| ó | ó |
ó |
ô | ô |
ô |
| ø | ø |
ø |
ù | ù |
ù |
| ? | ý |
ý |
þ | þ |
þ |
| ± | ± |
± |
¶ | ¶ |
¶ |
| » | » |
» |
À | À |
À |
| Å | Å |
Å |
Ê | Ê |
Ê |
| Ï | Ï |
Ï |
Ô | Ô |
Ô |
| Ù | Ù |
Ù |
Þ | Þ |
Þ |
| ã | ã |
ã |
è | è |
è |
| í | í |
í |
ò | ò |
ò |
| ÷ | ÷ |
÷ |
ü | ü |
ü |
| ¤ | ¤ |
¤ |
© | © |
© |
JavaScript转义符
| 转义序列 | 字符 |
|---|---|
| \b | 退格 |
| \f | 走纸换页 |
| \n | 换行 |
| \r | 回车 |
| \t | 横向跳格 (Ctrl-I) |
| \’ | 单引号 |
| \” | 双引号 |
\\ |
反斜杠 |
JavaScript编码转换
escape(),
encodeURI(),
encodeURIComponent()
通过对三个函数的分析,我们可以知道:escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参 数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。