HTML 实体编码工具

在线转换 HTML 实体字符,支持编码与解码,有效防止 XSS 攻击

输入文本
字符数: 0
字节数: 0
转换结果
字符数: 0
字节数: 0

选择转换方式

什么是 HTML 实体编码?

HTML 实体编码是一种将特殊字符转换为 HTML 实体引用的机制。在 HTML 中,某些字符具有特殊含义(如 <、>、&),如果需要在页面中显示这些字符本身,就必须使用实体编码。实体编码有两种形式:命名实体(如 &lt;)和数字实体(如 &#60;)。命名实体更易读,而数字实体可以表示任何 Unicode 字符。

HTML 实体编码的主要用途

  • 防止 XSS 攻击: 将用户输入的特殊字符转义,防止恶意脚本注入
  • 显示特殊字符: 在 HTML 中显示 < > & " ' 等保留字符
  • 国际化支持: 使用数字实体显示各种语言的特殊字符
  • 代码展示: 在网页中安全地展示 HTML 代码片段

使用方法

基本操作

  1. 在左侧输入框输入或粘贴需要转换的文本
  2. 点击对应的转换按钮选择编码或解码方式
  3. 右侧自动显示转换结果
  4. 点击「复制」按钮复制结果到剪贴板

转换方式说明

  • HTML 实体编码: 将 < > & " ' 转换为命名实体,适合防止 XSS
  • HTML 实体解码: 将命名实体还原为原始字符
  • 数字实体编码: 将特殊字符转换为数字实体形式(如 &#60;)
  • 完整编码: 将所有非 ASCII 字符都进行编码,适合国际化场景
  • 完整解码: 还原所有形式的 HTML 实体

快捷键

  • Ctrl + E - HTML实体编码
  • Ctrl + D - HTML实体解码

常用 HTML 实体字符表

字符命名实体数字实体说明
<&lt;&#60;小于号
>&gt;&#62;大于号
&&amp;&#38;和号
"&quot;&#34;双引号
'&apos;&#39;单引号
空格&nbsp;&#160;不换行空格
©&copy;&#169;版权符号
®&reg;&#174;注册商标
&trade;&#8482;商标符号
&euro;&#8364;欧元符号
¥&yen;&#165;日元/人民币符号

常见问题 (FAQ)

Q: HTML 实体编码和 URL 编码有什么区别?

A: HTML 实体编码用于 HTML 文档中,将特殊字符转换为 &xxx; 或 &#xxx; 格式;URL 编码用于 URL 中,将特殊字符转换为 %XX 格式。两者应用场景不同,HTML 编码用于页面内容,URL 编码用于链接地址。

Q: 为什么编码后 & 显示为 &amp;?

A: 因为 & 本身是实体编码的前缀,编码时需要先处理。第一次编码会将 & 变成 &amp;,这是正确的。解码时会将 &amp; 还原为 &。

Q: 命名实体和数字实体哪个更好?

A: 命名实体(如 &lt;)更易读,便于维护;数字实体(如 &#60;)可表示任意 Unicode 字符,兼容性更好。对于常用字符推荐命名实体,对于特殊字符使用数字实体。

Q: 如何防止 XSS 攻击?

A: 对于用户输入的内容,在输出到 HTML 页面前,使用 HTML 实体编码将 < > & " ' 等字符转义。这样即使用户输入了恶意脚本,也会被当作普通文本显示,不会被执行。

Q: 我的数据安全吗?

A: 完全安全。本工具的所有处理都在您的浏览器本地完成,数据不会上传到任何服务器。您的数据始终留在您的设备上。