HTML 实体编码与解码
编码和解码 HTML 实体,如 & < >
常见问题
HTML 实体编码是什么?
HTML 实体(HTML Entities)用 &、<、>、" 这类可视序列来表示在 HTML 中具有特殊含义的字符(如 &、<、>、")。通过实体编码,浏览器会把字符原样显示而非解析为标签或属性边界。
什么时候需要用这个工具?
在 HTML 正文中输出用户评论而又不希望被当作 HTML 解析;防御基础的 XSS(展示层面),将模板输出统一转义;把邮件模板中的特殊字符(版权符号 ©、注册商标 ®)转为实体保证兼容;解码网页源码里抓到的 &amp; 之类多层转义。
支持命名实体还是数字实体?
支持两种:命名实体(如 ©)更可读,数字实体(十进制 © / 十六进制 ©)兼容性最好。工具可按需切换,解码时两种都能识别。
HTML 实体编码能完全防 XSS 吗?
不能。它只能解决"写入 HTML 文本节点"场景。属性、JavaScript 上下文、URL 上下文需要各自专门的转义规则。请把 HTML 实体视为 XSS 防御的第一道屏障,而非唯一手段,并配合 CSP、输入验证使用。
数据安全吗?
所有编码解码在浏览器本地完成,用户评论、内部邮件模板都不会上传服务器。
HTML 实体编码、URL 编码、JavaScript 字符串转义如何区分?
HTML 实体:让字符在 HTML 中显示,不被解析为标签;URL 编码:让字符在 URL 中不破坏语法;JS 字符串转义:让字符在 JS 字符串里合法(\n、\u00A9)。它们分别服务于不同上下文,不能互相替代。