HTML 实体编解码

默认只转义五个危险字符,解码支持全量命名实体。

非 ASCII 转数字实体
输入
输出

HTML 用实体写法来表示那些会和标记语法冲突的字符:< 写成 &lt;、& 写成 &amp;。渲染用户输入时如果不转义,就等于把内容当代码执行,这是 XSS 最常见的入口。解码走浏览器原生的 HTML5 解析规则,全量命名实体和数字实体都能还原。

默认只转义 & < > " ' 五个字符,其余原样保留。& 本身也在转义范围内:贴进来的如果已经是转义过的 HTML,会被再转一次(&amp; 变 &amp;amp;),工具会把这个情况提示出来。

HTML 实体编解码怎么用

  • 最小集转义:把要插入 HTML 的文本贴进来,得到可以安全拼接的字符串。
  • 还原实体:切到「还原」,&amp;、&#20320;、&#x4F60; 以及不带分号的历史写法都会解回字符。
  • 非 ASCII 转数字实体:需要把中文写成 &#XXXX; 形式(例如某些邮件模板)时打开该开关。

常见问题

为什么不默认把所有中文转成实体?

现代页面统一使用 UTF-8,转成数字实体只会让源码变长、可读性变差,对兼容性也没有帮助。只有明确需要纯 ASCII 输出时才开启。

&copy 少写了分号能解码吗?

能。HTML5 命名实体表里保留了一批不带分号的历史写法(&copy、&lt、&amp 等),浏览器会识别;但新代码应该始终带分号。

完整实体表在哪里查?

WHATWG HTML 标准的「命名字符引用」一节是全量对照表,共约 2231 条,标准已声明它不再扩充。

对应功能编号 #6无需安装,手机端同样可用按 Ctrl + K 换工具