HTML 实体编码工具
在线转换 HTML 实体字符,支持编码与解码,有效防止 XSS 攻击
输入文本
字符数: 0
字节数: 0
转换结果
字符数: 0
字节数: 0
选择转换方式
什么是 HTML 实体编码?
HTML 实体编码是一种将特殊字符转换为 HTML 实体引用的机制。在 HTML 中,某些字符具有特殊含义(如 <、>、&),如果需要在页面中显示这些字符本身,就必须使用实体编码。实体编码有两种形式:命名实体(如 <)和数字实体(如 <)。命名实体更易读,而数字实体可以表示任何 Unicode 字符。
HTML 实体编码的主要用途
- 防止 XSS 攻击: 将用户输入的特殊字符转义,防止恶意脚本注入
- 显示特殊字符: 在 HTML 中显示 < > & " ' 等保留字符
- 国际化支持: 使用数字实体显示各种语言的特殊字符
- 代码展示: 在网页中安全地展示 HTML 代码片段
使用方法
基本操作
- 在左侧输入框输入或粘贴需要转换的文本
- 点击对应的转换按钮选择编码或解码方式
- 右侧自动显示转换结果
- 点击「复制」按钮复制结果到剪贴板
转换方式说明
- HTML 实体编码: 将 < > & " ' 转换为命名实体,适合防止 XSS
- HTML 实体解码: 将命名实体还原为原始字符
- 数字实体编码: 将特殊字符转换为数字实体形式(如 <)
- 完整编码: 将所有非 ASCII 字符都进行编码,适合国际化场景
- 完整解码: 还原所有形式的 HTML 实体
快捷键
Ctrl + E- HTML实体编码Ctrl + D- HTML实体解码
常用 HTML 实体字符表
| 字符 | 命名实体 | 数字实体 | 说明 |
|---|---|---|---|
| < | < | < | 小于号 |
| > | > | > | 大于号 |
| & | & | & | 和号 |
| " | " | " | 双引号 |
| ' | ' | ' | 单引号 |
| 空格 | |   | 不换行空格 |
| © | © | © | 版权符号 |
| ® | ® | ® | 注册商标 |
| ™ | ™ | ™ | 商标符号 |
| € | € | € | 欧元符号 |
| ¥ | ¥ | ¥ | 日元/人民币符号 |
常见问题 (FAQ)
Q: HTML 实体编码和 URL 编码有什么区别?
A: HTML 实体编码用于 HTML 文档中,将特殊字符转换为 &xxx; 或 &#xxx; 格式;URL 编码用于 URL 中,将特殊字符转换为 %XX 格式。两者应用场景不同,HTML 编码用于页面内容,URL 编码用于链接地址。
Q: 为什么编码后 & 显示为 &?
A: 因为 & 本身是实体编码的前缀,编码时需要先处理。第一次编码会将 & 变成 &,这是正确的。解码时会将 & 还原为 &。
Q: 命名实体和数字实体哪个更好?
A: 命名实体(如 <)更易读,便于维护;数字实体(如 <)可表示任意 Unicode 字符,兼容性更好。对于常用字符推荐命名实体,对于特殊字符使用数字实体。
Q: 如何防止 XSS 攻击?
A: 对于用户输入的内容,在输出到 HTML 页面前,使用 HTML 实体编码将 < > & " ' 等字符转义。这样即使用户输入了恶意脚本,也会被当作普通文本显示,不会被执行。
Q: 我的数据安全吗?
A: 完全安全。本工具的所有处理都在您的浏览器本地完成,数据不会上传到任何服务器。您的数据始终留在您的设备上。