输入
支持常用命名实体、十进制实体和十六进制实体。
结果
编码或解码结果不会作为 HTML 执行。
关于 HTML 实体编码解码
HTML 使用小于号、大于号、引号和 & 等字符表示标签或属性。当这些字符需要作为普通文字显示时,可以转换为 HTML 实体。例如,将 < 编码为 <,浏览器就会显示小于号, 而不会把它当作标签的开始。
常用 HTML 实体对照
| 字符 | 实体写法 | 常见用途 |
|---|---|---|
& | & | 实体自身的起始字符 |
< | < | 小于号或 HTML 标签起始符 |
> | > | 大于号或 HTML 标签结束符 |
" | " | HTML 属性中的双引号 |
' | ' | HTML 属性中的单引号 |
© | © 或 © | 命名实体或数字实体 |
什么时候需要 HTML 实体转换?
- 在网页中原样展示 HTML、XML 或代码片段
- 转义模板、富文本和 HTML 属性中的保留字符
- 排查接口或数据库中出现的 &、< 等实体文本
- 将十进制、十六进制或命名实体还原为可读字符
常见问题 (FAQ)
HTML 实体是什么?
HTML 实体是以 & 开头、以分号结尾的字符表示法,例如 < 表示小于号。它能让浏览器显示保留字符,而不是把这些字符解释为 HTML 语法。
命名实体和数字实体有什么区别?
命名实体使用容易阅读的名称,例如 ©;数字实体使用 Unicode 码点,例如十进制 © 或十六进制 ©。三者都可以表示 ©。
中文和 Emoji 需要编码成 HTML 实体吗?
现代网页通常使用 UTF-8,可以直接保存中文和 Emoji,无需全部编码。只有目标系统限制字符集,或需要明确输出数字实体时,才建议启用“编码非 ASCII 字符”。
HTML 实体编码可以完全防止 XSS 吗?
不能。实体编码只解决特定 HTML 文本或属性上下文中的输出转义问题,不能替代 HTML 白名单清洗、URL 协议校验和内容安全策略。不要把不可信内容直接写入 innerHTML。