编码/解码

HTML 实体编码

HTML 实体编码与解码,支持基础编码和完整编码

原始文本
HTML Entities

常用 HTML 实体

&&
&lt;<
&gt;>
&quot;"
&#39;'
&nbsp;(空格)
&copy;©
&reg;®
&trade;
&euro;
&pound;£
&yen;¥
&deg;°
&plusmn;±
&times;×
&divide;÷
&frac12;½
&frac14;¼
&frac34;¾

什么是 HTML 实体编码?

HTML 实体编码是一种将特殊字符转换为 HTML 实体引用的方式,用于在 HTML 文档中安全地显示这些字符,避免被浏览器解析为 HTML 标签或产生歧义。

功能特点

  • 双向转换:支持编码和解码两种模式
  • 基础编码:仅编码特殊字符(<、>、&、" 等)
  • 完整编码:将所有字符编码为数字实体({)
  • 实时转换:输入即时得到结果
  • 常用实体参考:提供常用 HTML 实体对照表

常用 HTML 实体

  • &lt; - 小于号 (<)
  • &gt; - 大于号 (>)
  • &amp; - 和号 (&)
  • &quot; - 双引号 (")
  • &#39; - 单引号 (')
  • &nbsp; - 不间断空格
  • &copy; - 版权符号 (©)
  • &reg; - 注册商标 (®)

使用场景

  • XSS 防护:在显示用户输入时,编码特殊字符防止 XSS 攻击
  • HTML 转义:在 HTML 中显示包含 HTML 标签的文本
  • 特殊符号:在 HTML 中显示版权、商标等特殊符号
  • 数据安全:在表单提交或 API 传输中编码敏感字符

常见问题

什么时候必须用 HTML 实体?
三种场景:一是在正文里显示 <、>、& 这些会被解析为标签或实体起点的字符;二是在属性值里使用引号;三是输入键盘上没有的字符(如 © 用 ©)。HTML5 里只要不引起歧义,直接写 UTF-8 字符也是允许的。
命名实体(&)和数字实体(&)有什么区别?
效果完全相同。命名实体可读性好,但只覆盖 HTML 标准定义的名字;数字实体(十进制 & 或十六进制 &)可以表示任何 Unicode 码点。数字实体的一个实用场景是防止邮件地址被爬虫按字面收集。
为什么解码后页面上还是显示乱码或方框?
实体解码是正确的,问题出在字体或字符集:页面 meta charset 不是 UTF-8,或字体缺少该字形。先用本工具确认实体对应的码点,再检查页面编码与字体支持。