什么是 HTML 实体编码
HTML 实体编码(HTML Entity Encoding)是将特殊字符转换为以 & 开头、; 结尾的安全字符串的过程。它用于在 HTML 中安全地显示特殊字符。需要马上编码一段文本?用我们的 HTML 实体编码器,数据不出浏览器即可完成转换。
常见 HTML 实体
| 字符 | 实体名称 | 实体编号 | 说明 |
|------|---------|---------|------|
| < | < | < | 小于号 |
| > | > | > | 大于号 |
| & | & | & | 和号 |
| " | " | " | 双引号 |
| ' | ' | ' | 单引号 |
| | |   | 非断行空格 |
| © | © | © | 版权符号 |
| ® | ® | ® | 注册商标 |
为什么需要 HTML 实体编码
- 防止 XSS 攻击:用户输入中的
<script>标签会被转义为安全文本 - 显示特殊字符:在 HTML 中显示
<、>、&等字符 - 国际化支持:显示特殊符号和字符
- 模板引擎输出:确保动态内容安全渲染
- 邮件模板:邮件 HTML 需要更严格的转义
- 富文本编辑器:安全地保存和显示用户内容
XSS 防护示例
危险的未转义输出
<!-- 用户输入:<script>alert('XSS')</script> -->
<div>{{ user_input }}</div>
<!-- 渲染结果(危险!) -->
<div><script>alert('XSS')</script></div>
安全的转义输出
<!-- 用户输入:<script>alert('XSS')</script> -->
<div><script>alert('XSS')</script></div>
<!-- 渲染结果(安全) -->
<div><script>alert('XSS')</script></div>
如何使用在线工具
使用 DevToolkit Pro 的 HTML 实体编码/解码工具:
- 输入要编码或解码的文本
- 选择编码模式:
- 编码:将特殊字符转为 HTML 实体
- 解码:将 HTML 实体转回原始字符
- 支持实体名称和实体编号
代码中的 HTML 转义
JavaScript
// 编码
function escapeHtml(text) {
const map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
};
return text.replace(/[&<>"']/g, m => map[m]);
}
// 解码
function unescapeHtml(text) {
const map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
''': "'"
};
return text.replace(/&|<|>|"|'/g, m => map[m]);
}
Python
import html
# 编码
text = '<script>alert("XSS")</script>'
encoded = html.escape(text)
# 输出:<script>alert("XSS")</script>
# 解码
decoded = html.unescape(encoded)
# 输出:<script>alert("XSS")</script>
FAQ
HTML 编码和 URL 编码有什么区别?
HTML 编码用于 HTML 文档中的特殊字符(< → <)。URL 编码用于 URL 中的特殊字符(空格 → %20)。两者解决不同场景的问题。
为什么 & 要先转义?
& 是 HTML 实体的起始字符。如果 & 不先转义,后续的转义字符会被错误解析。例如:< 如果 & 没转义,会被直接当成实体处理。
React 会自动转义吗?
React 默认对 JSX 中的变量进行自动转义。但如果使用 dangerouslySetInnerHTML,则不会转义,需要手动处理。
本文由 DevToolkit Pro 提供。更多开发者工具请访问 首页。
relatedTools
相关文章
最佳在线 JWT 解码工具推荐(2026)
对比主流在线 JWT 解码工具,从签名校验、隐私保护、功能完整度等维度评测。DevToolkit Pro 凭借本地解码和 HS256 签名校验脱颖而出。
最佳在线 Base64 编解码工具推荐(2026)
对比主流在线 Base64 编解码工具,从 Unicode 支持、隐私保护、使用便捷性等维度评测。DevToolkit Pro 凭借本地运行和 Unicode 安全编码成为首选。
在线 Base64 转图片工具:将编码字符串还原为图片文件
学习如何将 Base64 编码字符串还原为图片文件。了解 Base64 解码原理、常见的 Base64 图片格式,以及在 Web 开发中的实际应用场景。