DevToolkit

HTML 实体编码与解码

编码和解码 HTML 实体,如 & < >

常见问题

HTML 实体编码是什么?

HTML 实体(HTML Entities)用 &amp;、&lt;、&gt;、&quot; 这类可视序列来表示在 HTML 中具有特殊含义的字符(如 &、<、>、")。通过实体编码,浏览器会把字符原样显示而非解析为标签或属性边界。

什么时候需要用这个工具?

在 HTML 正文中输出用户评论而又不希望被当作 HTML 解析;防御基础的 XSS(展示层面),将模板输出统一转义;把邮件模板中的特殊字符(版权符号 ©、注册商标 ®)转为实体保证兼容;解码网页源码里抓到的 &amp;amp; 之类多层转义。

支持命名实体还是数字实体?

支持两种:命名实体(如 &copy;)更可读,数字实体(十进制 &#169; / 十六进制 &#xA9;)兼容性最好。工具可按需切换,解码时两种都能识别。

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

不能。它只能解决"写入 HTML 文本节点"场景。属性、JavaScript 上下文、URL 上下文需要各自专门的转义规则。请把 HTML 实体视为 XSS 防御的第一道屏障,而非唯一手段,并配合 CSP、输入验证使用。

数据安全吗?

所有编码解码在浏览器本地完成,用户评论、内部邮件模板都不会上传服务器。

HTML 实体编码、URL 编码、JavaScript 字符串转义如何区分?

HTML 实体:让字符在 HTML 中显示,不被解析为标签;URL 编码:让字符在 URL 中不破坏语法;JS 字符串转义:让字符在 JS 字符串里合法(\n、\u00A9)。它们分别服务于不同上下文,不能互相替代。

相关工具