HTML 实体编码器 / 解码器

在线解码和编码 HTML 实体,直接在浏览器中完成。这款 HTML 实体解码器与编码器可帮助您去除 HTML 转义(unescape)、将 HTML 实体转换为文本,或将特殊字符编码为可安全嵌入 HTML 的格式。它将 `&`、`<`、`>`、`"`、`'` 等保留字符转换为对应的实体(如 `&amp;`、`&lt;`、`&gt;`、`&quot;`、`&#39;`),也可将其解码还原。扩展模式还能将重音字母、符号和表情符号转换为数字实体。

将普通文本、已转义的 HTML 或 HTML 编码的字符串粘贴到输入框,选择编码或解码模式,即可获得结果。本工具可作为在线 HTML 解码器、在线 HTML 编码器,以及去除 HTML 实体转义的私有浏览器工具使用。所有处理均在浏览器本地完成,您的文本不会离开设备。

转换选项
选择编码还是解码,编码时选择编码细节级别。

仅编码五个保留的 HTML 字符:& < > " ' — 带重音字母和 emoji 原样输出。

要编码的文本
输入要编码的文本。保留字符将变为 HTML 实体。
0 字符
编码输出
经 HTML 实体编码的结果,可安全嵌入 HTML 源代码。
0 字符

🔒 您的文本在浏览器中处理,不上传任何内容。

这是一款私有的、基于浏览器的 HTML 实体解码器与编码器。它是面向开发者、博主、CMS 用户和学习者的简便 HTML 实体转换工具,适用于解码 HTML 编码文本、去除 HTML 实体转义或安全编码 HTML 字符的场景。工具使用纯 JavaScript 字符串迭代和精心整理的命名实体表,在您的设备上完成全部处理,无需服务器请求,无需第三方库。

什么是 HTML 实体?

HTML 实体是 HTML 源代码中用来表示特定字符的短文本序列。当某个字符在原始 HTML 中会产生歧义或无效时,就需要使用实体。例如,`<` 和 `>` 是 HTML 标签的边界符,因此内容中的字面量 `<` 必须写作 `&lt;`,否则浏览器会将其解析为标签开始。

HTML 实体有两种形式。命名实体在 `&` 和 `;` 之间使用易读的名称,例如 `&amp;`(和号)、`&copy;`(版权符号)、`&mdash;`(破折号)。数字实体使用十进制或十六进制的 Unicode 码位——`&#169;` 和 `&#xA9;` 均表示版权符号 ©。

每位开发者都应了解的五个保留 HTML 字符:

  • `&amp;` – 和号 `&`
  • `&lt;` – 小于号 `<`
  • `&gt;` – 大于号 `>`
  • `&quot;` – 双引号 `"`
  • `&#39;` – 单引号 / 撇号 `'`

除以上五个外,HTML 还为数百个其他字符定义了命名实体:重音字母(`&eacute;` = é)、不换行空格(`&nbsp;`)、排版标点(`&mdash;` = 破折号,`&ldquo;` 和 `&rdquo;` = 排版引号)、货币符号(`&euro;` = 欧元符号)、数学符号及希腊字母等。

什么时候需要编码 HTML 实体?

每当您将纯文本插入 HTML 文档,且该文本可能包含 HTML 保留字符时,都应对其进行编码。最常见的场景:

  • 将用户生成的内容或博客文本粘贴到存储原始 HTML 的 CMS 或模板中。
  • 在博客文章或文档页面中嵌入代码示例——`<strong>加粗</strong>` 这样的片段必须编码为 `&lt;strong&gt;加粗&lt;/strong&gt;`,浏览器才能将其显示为可见文本。
  • 构建嵌入 HTML `<script>` 标签的 JSON 数据,其中 `<`、`>` 和 `&` 可能破坏周围的 HTML 结构。
  • 存储可能包含双引号的属性值,以免破坏周围的 `"..."` 分隔符。
  • 为 HTML 邮件模板编码特殊字符。

只需转义五个保留字符时,使用基础模式即可。若需要最大 HTML 兼容性,或针对仅支持 ASCII 的旧系统,请使用扩展模式。

什么时候需要解码 HTML 实体?

当您收到已经过转义处理的文本,需要读取、处理或展示原始字符时,就需要解码 HTML 实体。这种操作在搜索中通常称为 HTML decode、HTML unescape,或将 HTML 编码文本转换为普通文本。常见场景:

  • API 响应的字符串字段包含 HTML 转义文本——例如收到 `Tom &amp; Jerry` 而预期是 `Tom & Jerry`。此时需要将 HTML 实体转换为文本。
  • 修复 CMS 二次编码导致的字符串问题,如出现 `&amp;lt;` 而非 `&lt;` 或 `<`。
  • 读取 RSS 或 Atom 订阅条目,其文本内容通常为 HTML 编码格式。
  • 检查包含 HTML 转义查询参数或错误信息的日志行。
  • 从 HTML 源文件中复制可见文本(内容以实体形式存储)。

本工具可解码命名实体(`&amp;`、`&copy;`、`&mdash;`、`&nbsp;` 等数百种)以及十进制(`&#169;`)和十六进制(`&#xA9;`)数字实体。

基础模式 vs 扩展模式

本编码器提供两种编码精度级别。

基础模式仅编码五个 HTML 保留字符:`&` → `&amp;`,`<` → `&lt;`,`>` → `&gt;`,`"` → `&quot;`,`'` → `&#39;`。其他所有字符——包括重音字母(`é`、`ü`)、符号(`©`、`—`)、表情符号(😀)——均原样输出。若目标环境原生支持 Unicode,使用基础模式即可。

扩展模式在编码上述五个保留字符的同时,还将每个非 ASCII 字符转换为十进制数字实体。例如 `é` → `&#233;`,`©` → `&#169;`,`—` → `&#8212;`,😀 → `&#128512;`。当需要纯 ASCII 输出或面向旧系统时,请使用扩展模式。

开发者有时会用 htmlDecode、htmlEncode、HTML escape、HTML unescape、HTML 编码、HTML 解码等不同词汇检索同一功能。叫法不同,目标相同:在可读字符与其 HTML 实体表示之间安全地相互转换。

基础模式的往返转换示例:

  • 输入:`Café & © 😀`
  • 编码(基础):`Café &amp; © 😀`
  • 解码:`Café & © 😀`

扩展模式的往返转换示例:

  • 输入:`Café & © 😀`
  • 编码(扩展):`Caf&#233; &amp; &#169; &#128512;`
  • 解码:`Café & © 😀`

HTML 实体编码 vs URL 编码

HTML 实体编码与 URL 编码(百分号编码)是两种完全不同的机制,用途不同,输出格式也不同——尽管两者都将特殊字符转换为替代表示形式。

HTML 实体编码用于 HTML 文档。它将 HTML 标记中具有特殊含义的字符替换为实体序列,HTML 解析器将其处理为文本内容。结果仍然是可读文本——`&amp;` 在浏览器中显示为 `&`。

URL 编码(百分号编码)用于 URL。它将 URL 中不安全或保留的字符替换为百分号编码的字节序列。空格变为 `%20`,和号变为 `%26`,小于号变为 `%3C`。

两种系统中相同字符的对比:

  • `&` – HTML:`&amp;`,URL:`%26`
  • `<` – HTML:`&lt;`,URL:`%3C`
  • `>` – HTML:`&gt;`,URL:`%3E`
  • `"` – HTML:`&quot;`,URL:`%22`
  • `'` – HTML:`&#39;`,URL:`%27`

若将 HTML 编码的文本粘贴到 URL 编码器中,它会对实体字符本身(`&`、`;`、`#`)进行编码,这几乎不是想要的结果。请使用本页面进行 HTML 实体解码、编码,以及将 HTML 编码文本转换为可读文本。

Need to encode or decode a URL instead of HTML text? Use the URL Encoder / Decoder. Use this page for HTML entity decoding, HTML entity encoding, and converting HTML encoded text back to readable text.

HTML 实体编码 vs HTML 净化(清理)

HTML 实体编码(本工具)将字符转换为对应的 HTML 实体,并可逆向操作。它不增加、不删除、也不重构任何 HTML 元素。文档结构保持不变,仅特殊字符的表示形式发生改变。

HTML 净化(清理)是另一种操作,它会移除或重写 HTML 标记——删除不需要的标签、规范化属性,或清除潜在危险内容。净化函数可能将 `<b onclick="...">加粗</b>` 转换为 `<b>加粗</b>` 或仅保留 `加粗`。

本工具不净化 HTML。若将原始 HTML 粘贴到编码器中,它会对标记中的尖括号和其他保留字符进行编码,将 `<p>你好</p>` 转换为 `&lt;p&gt;你好&lt;/p&gt;`。它不检查、不删除、也不重构任何元素。

同样,本工具也不是文本清理器。它不删除多余空格,不去除重音符号,也不规范化换行符。其唯一职责是编码和解码 HTML 实体。

常见问题解答

什么是 HTML 实体解码器和编码器?

HTML 实体解码器将 `&amp;`、`&lt;`、`&gt;`、`&quot;`、`&#39;` 等已转义的 HTML 实体还原为可读字符。HTML 实体编码器则相反:将 HTML 中具有特殊含义的字符——如 `&`、`<`、`>`、`"`、`'`——转换为安全的 HTML 实体序列。本页同时作为在线 HTML 解码工具和在线 HTML 编码工具,提供基础和扩展两种编码选项,全部在浏览器中运行。

什么是 HTML 实体?

HTML 实体是 HTML 源代码中用来表示字符的特殊文本序列。以 `&` 开头,以 `;` 结尾。命名实体使用易读的名称,如 `&amp;`(和号)、`&lt;`(小于)、`&copy;`(版权符号)、`&mdash;`(破折号)。数字实体使用十进制(`&#169;` = ©)或十六进制(`&#xA9;` = ©)的 Unicode 码位。实体的存在是因为某些字符——尤其是 `<`、`>` 和 `&`——在 HTML 中具有保留含义,要以文字形式显示必须进行转义。

什么时候应该编码 HTML 实体?

每当您将纯文本嵌入 HTML 文档且其中可能包含 HTML 保留字符时,都应进行编码。最重要的场景:在网页上展示用户生成的内容(转义保留字符可防止文本被解析为标记);在博客或文档中嵌入代码片段;构建 HTML 邮件模板;在需要 HTML 的 CMS 字段中存储文本。大多数网页内容使用基础模式;纯 ASCII 输出使用扩展模式。

什么时候应该解码 HTML 实体?

当您收到 HTML 转义文本并需要原始字符时,需要解码 HTML 实体。常见情况:API 返回 `Tom &amp; Jerry` 这样的转义字符串;CMS 二次编码导致 `&amp;lt;` 本应是 `<`;RSS 或 Atom 订阅条目的文本内容以实体编码;包含转义查询参数的日志行。您也可以将其理解为使用在线 HTML unescape 工具,或将 HTML 实体转换为文本。

HTML unescape 是什么意思?

HTML unescape 意为将 HTML 实体解码还原为原始可读字符。例如 `&amp;` 变为 `&`,`&lt;` 变为 `<`,`&gt;` 变为 `>`。当复制的文本、API 输出、CMS 内容或源代码中包含已转义的 HTML,而您希望以普通文本形式阅读时,此功能非常实用。

`&amp;`、`&lt;`、`&gt;`、`&quot;` 和 `&#39;` 有什么区别?

这是 HTML 标记中具有特殊含义的五个保留字符所对应的 HTML 实体。`&amp;` 表示每个 HTML 实体的起始字符 `&`。`&lt;` 表示开启 HTML 标签的小于号 `<`。`&gt;` 表示关闭 HTML 标签的大于号 `>`。`&quot;` 表示用于界定 HTML 属性值的双引号 `"`。`&#39;`(HTML5 中为 `&apos;`)表示同样用于属性值的单引号 `'`。凡是以字面量文本出现的地方,这五个字符都必须进行转义。

命名实体和数字实体有什么区别?

命名实体使用易读的名称,如 `&amp;`、`&copy;`、`&mdash;`。数字实体使用十进制(`&#169;` = ©)或十六进制(`&#xA9;` = ©)的 Unicode 码位。命名实体更易读写,但 HTML 标准化的命名集合有限。数字实体可以表示任意有效的 Unicode 字符,包括表情符号和各种文字系统的字符。

HTML 实体编码和 URL 编码是一回事吗?

不是,两者完全不同。HTML 实体编码针对 HTML 文档,将字符替换为实体序列(`&` → `&amp;`)。URL 编码(百分号编码)针对 URL,将字符替换为百分号编码的字节序列(同样的 `&` → `%26`)。两种方案各自仅在其对应的上下文中有效。请始终在正确的上下文中使用正确的工具。

HTML 实体编码和 HTML 净化是一回事吗?

不是。HTML 实体编码(本工具)将字符转换为实体表示并可逆,不增加、删除或重构 HTML 元素。HTML 净化是另一种操作,用于移除不需要的标签、净化属性或规范化标记。本工具不以任何方式检查或修改 HTML 结构。

本工具会渲染或执行 HTML 吗?

不会。解码后的输出以纯文本形式显示在只读文本框中。本工具从不使用 innerHTML、dangerouslySetInnerHTML 或任何可能使浏览器将输出解析或执行为 HTML 的机制。例如,解码 `&lt;script&gt;alert(1)&lt;/script&gt;` 仅会产生字面文本字符串 `<script>alert(1)</script>`——脚本不会被执行。

我的文本会上传到服务器吗?

不会。编码器和解码器完全在浏览器中通过纯 JavaScript 运行。您的输入不会发送到任何服务器,不会被存储,也不会被记录。关闭标签页后所有内容即消失。本工具适用于敏感内容,如 API 密钥、内部 HTML 模板或不希望粘贴到远程服务的个人文档。

什么是 htmldecode?

`htmldecode` 是开发者常用于描述将 HTML 实体解码为普通文本的术语。在 JavaScript、PHP 及其他编程语言中,人们常用 htmlDecode、htmlEncode、HTML escape、HTML unescape 等名称来表示同类转换操作。使用本工具,无需编写代码即可在线完成此类转换。

探索更多文本工具

免费在线工具,用于转换、编码和处理文本

大小写转换

转换文本大小写 — 大写、小写、标题格式等

摩尔斯电码翻译器

将文本转换为摩尔斯电码,反之亦然

莫尔斯电码音频解码器

从音频文件或麦克风解码莫尔斯电码

二进制翻译器

将文本转换为二进制,反之亦然

Base64 编码器/解码器

编码和解码Base64文本

Hex Converter

将文本转换为十六进制,反之亦然

ROT13 编码器/解码器

使用 ROT13 密码编码和解码文本

上标生成器

在支持的情况下将文本转换为 Unicode 上标。

下标生成器

将文本转换为支持的Unicode下标

删除线文字生成器

即时生成可复制粘贴的 Unicode 删除线文字

图片转Base64

将图片转换为Base64字符串和数据URI

URL Encoder / Decoder

Encode and decode URL components, query strings, and percent-encoded text