HTML 实体编码/解码器

免费在线HTML实体编码解码器,特殊字符转义与反转义,支持批量处理多行文本,防止XSS注入,纯前端本地计算。

Ad Space

HTML 实体编码基础

HTML 实体(HTML Entity)是 HTML 中表示特殊字符的一种方式。由于 HTML 使用 <> 来定义标签,使用 & 来表示实体本身,这些字符不能直接出现在内容中,必须通过实体来表示。

五种核心实体

以下五个字符是最基本的 HTML 实体,也是防止 XSS 攻击必须转义的字符:

常见命名实体

HTML 定义了超过 2000 个命名实体,常用的有:

数字实体

数字实体使用字符的 Unicode 编码点来表示,格式为 &#十进制编码;&#x十六进制编码;。例如:

数字实体的优势是支持所有 Unicode 字符,而命名实体只覆盖有限的常用字符。

XSS 防护最佳实践

注意事项

常见问题

HTML 实体编码是什么?
HTML 实体编码是将 HTML 中具有特殊含义的字符(如 < > & " 等)转换为实体名称(如 &lt; &gt; &amp;)或数字实体(&#xxx;)的过程。这是为了防止浏览器将这些字符误解为 HTML 标签或属性。
为什么需要 HTML 转义?
主要有两个原因:1) 防止 XSS(跨站脚本攻击):如果用户输入的内容包含恶意脚本,不转义直接输出到 HTML 中会导致脚本执行;2) 正确显示特殊字符:比如要在页面上显示 < 符号,就必须写成 &lt;,否则浏览器会认为是标签开始。
基础编码和全部编码有什么区别?
基础编码只编码 5 个关键字符(< > & " '),这是防止 XSS 的最低要求,也是最常用的模式。全部编码会将所有非 ASCII 字符都转为数字实体,适用于需要在纯 ASCII 环境中显示 Unicode 字符的场景。
命名实体和数字实体有什么区别?
命名实体使用有意义的名称,如 &copy; 表示版权符号 ©,可读性更好。数字实体使用字符的 Unicode 编码点,如 &#169;,支持所有 Unicode 字符。HTML5 定义了超过 2000 个命名实体。
如何防止 XSS 攻击?
对所有用户输入进行 HTML 实体编码是防御 XSS 的基本手段。但要注意:不同的上下文需要不同的编码方式——HTML 内容用 HTML 实体编码,HTML 属性用属性编码,JavaScript 代码用 JavaScript 编码,CSS 用 CSS 编码。不要只用一种编码应对所有场景。

🏷️ 相关标签

隐私安全开发者工具Web开发在线工具前端开发加密解密安全工具代码工具