ToolboxAgent

HTML 实体编码/解码

在线 HTML 实体编码和解码工具,适合处理代码片段和富文本内容。

使用说明

  1. 1 输入 HTML 或实体文本
  2. 2 选择编码或解码
  3. 3 查看结果并复制

相关工具

关于此工具

HTML 实体编码将 <、>、&、" 等特殊字符转换为 &lt;、&gt;、&amp; 等 HTML 实体,防止浏览器将内容解析为 HTML 标签。在富文本编辑器、用户评论展示、代码高亮场景中,正确转义是防止 XSS 攻击的第一道防线。

常见场景:将代码片段嵌入 HTML 页面展示时需要转义尖括号;从数据库或 API 获取到已转义的 HTML 实体需要还原为可读文本;爬虫解析 HTML 时遇到 &amp;nbsp; 等实体需要统一解码处理。

相比手写 replace 替换链,本工具覆盖完整的 HTML5 命名实体(包括 &copy;、&mdash; 等数百个符号),双向处理,避免遗漏导致页面显示异常或安全漏洞。

常见问题

什么情况下必须做 HTML 实体编码? +

当用户输入的内容(评论、昵称、搜索词等)要直接插入 HTML 文档时,必须先做实体编码。尤其是包含 <script>、<img onerror=> 等字符串时,不转义会导致 XSS 攻击,攻击者可执行任意 JavaScript。

&nbsp; 和普通空格有什么区别? +

&nbsp; 是不换行空格(Non-Breaking Space),浏览器不会在此处自动换行,也不会合并多个连续空格为一个。普通空格在 HTML 中会被合并。排版时若需要保留多个空格或防止特定位置换行,才使用 &nbsp;。

解码后为什么有些实体变成了问号或方框? +

这通常是字体不支持对应的 Unicode 字符。HTML 实体(如 &#128512; 表示 😀)解码后是正确的 Unicode 字符,只是当前字体没有对应字形。换用支持 Emoji 或特殊符号的字体即可正常显示。

HTML 实体编码能完全防止 XSS 吗? +

转义 HTML 上下文中的内容可以防止大多数 XSS,但还不够。在 JavaScript 上下文(如 onclick 属性值)、CSS 上下文(如 style 属性)中插入用户数据需要额外的转义策略。完整的 XSS 防护需要结合 CSP 策略和框架内置的安全机制。

能处理 &#x 十六进制形式的 HTML 实体吗? +

可以。本工具支持三种形式的 HTML 实体解码:命名实体(&amp;)、十进制数字实体(&#38;)和十六进制数字实体(&#x26;)。编码时默认输出命名实体形式,常见字符均有对应命名,更直观易读。