HTML字符实体和转义字符串
HTML字符实体和转义字符串用于处理特殊字符,确保它们在不同上下文中正确显示或解析。以下是详细总结:
HTML字符实体(Character Entities)
定义:用于在HTML中表示保留字符或不可见字符,避免与HTML语法冲突。
格式:
- 实体名称:&实体名;(如<表示<)
- 实体编号:&#实体编号;(如<也表示<)
常见用途:
- 保留字符:避免被解析为HTML代码。 - <→- <
- >→- >
- &→- &
 
- 引号:在属性值中避免冲突。 - "→- "
- '→- '(HTML5支持,建议用- '更兼容)
 
- 特殊符号: - 空格保留: (非断空格)
- 版权符号:©(©)
- 注册商标:®(®)
 
- 空格保留:
示例:
<p>5 > 3 & 3 < 5</p>
 <!-- 显示:5 > 3 & 3 < 5 -->
转义字符串(Escape Sequence)
定义:在编程或标记语言中用特定符号表示特殊字符,避免语法错误。
常见场景:
- HTML属性:转义引号。
<input value="He said "Hello"">
- URL编码:使用百分号转义(如空格→%20)。
- 编程语言:使用反斜杠。 - JavaScript:"He said \"Hello\""或'It\'s easy'
- 换行符:\n,制表符:\t
 
- JavaScript:
关键区别
| 场景 | HTML字符实体 | 其他转义字符串 | 
|---|---|---|
| 用途 | 避免HTML解析冲突 | 处理编程语言中的特殊字符 | 
| 表示方式 | &实体名;或&#编号; | 反斜杠(如 \"、\n) | 
| 示例 | <表示< | \"表示双引号 | 
注意事项
- 必须转义的情况: - HTML内容中的 <、>、&。
- 属性值中的引号(与包裹属性值的引号类型相同的情况)。
 
- HTML内容中的 
- 可选转义: - Unicode字符可用十六进制(<)或十进制(<)。
- 符号如©(©)可直接输入,但实体更可靠。
 
- Unicode字符可用十六进制(
- 避免错误: - URL中的&需转义为&,防止参数分隔错误。
- 注释内避免--,防止提前结束。
 
- URL中的
总结
- HTML字符实体是HTML特有的转义机制,用于正确显示特殊字符。
- 转义字符串是通用概念,在不同环境(如JS、URL)中有不同实现。
- 合理使用两者可避免语法错误,确保内容正确解析和显示。
