nicetool.dev logo

HTML 实体编码 / 解码

在插入 HTML 前转义文本,可防止页面错乱和 XSS 攻击。

输入
结果

常用实体

点击实体即可复制。

什么是 HTML 实体?

HTML 实体是表示保留字符或特殊字符的代码,例如用 &lt; 表示 <、用 &amp; 表示 &。在将用户输入渲染为 HTML 之前进行编码,可以保持标记有效并帮助防止跨站脚本攻击(XSS)。

功能

  • • 仅编码保留字符,或编码所有非 ASCII 字符
  • • 命名、十进制和十六进制实体格式
  • • 解码所有 HTML5 命名和数字实体
  • • 常用实体速查

本地处理

编码和解码都在浏览器中进行,您的内容不会发送到服务器。

100% 客户端处理。

HTML 实体使用方法

  1. 1

    选择 Encode 把特殊字符转换为 HTML 实体,或选择 Decode 把 &lt;、&#169; 等实体还原为字符。

  2. 2

    编码时选择模式:Basic 只转义 & < > " 和 ',Named 使用 &eacute; 这样的命名实体,Decimal 和 Hex 把所有非 ASCII 字符转换为数字引用。

  3. 3

    粘贴文本或 HTML,结果会立即更新。

  4. 4

    复制输出,或使用"将结果作为输入"继续处理。点击参考表中的条目即可复制常用实体。

实际应用示例

在网页中展示代码

要在博客或文档中把 <div class="box"> 作为文字显示,将其编码为 &lt;div class=&quot;box&quot;&gt;,浏览器就不会把它当作标签解析。

安全处理用户内容

在把用户输入的文本插入 HTML 之前先转义,可以防止页面错乱和跨站脚本(XSS)。Basic 模式覆盖了最关键的五个字符。

修复重复编码的文本

页面或 RSS 中出现 &amp;amp; 或 &amp;quot;?解码一到两次,找出文本被多余转义的位置。

仅支持 ASCII 的系统

一些邮件模板、老旧 CMS 或 XML 源只接受 ASCII。Decimal 或 Hex 模式会把 é 或中文转换为 &#233; 这样的引用,在任何编码下都不会乱码。

常见问题

HTML 中哪些字符必须转义?+

文本内容中必须转义 & 和 <。在属性值中,还要转义包裹该值的引号(" 或 ')。同时转义 > 是一种常见且无害的习惯。

用命名实体还是数字实体?+

两者显示效果相同。&copy; 这样的命名实体更易读;&#169; 这样的数字实体适用于所有 Unicode 字符,包括没有名称的字符。

HTML 转义足以防御 XSS 吗?+

对于标签之间或带引号属性中的文本,这是正确的防御方式。<script>、style、事件处理器或 URL 中的文本需要按上下文另行转义,现代框架会帮你处理。

中文或带重音字母需要实体吗?+

如果页面以 UTF-8 提供(如今的默认做法)就不需要。只有在仅支持 ASCII 的系统中才需要实体。