跳到正文
马克工具箱

HTML 实体编码解码

把文本转义成可以安全放进 HTML 的形式,把满是实体的文本还原成可读字符,或把字符转换成 JavaScript、JSON、CSS 使用的 Unicode 转义序列。解码支持 HTML5 标准中的全部命名实体。

在浏览器本地运行,输入的内容和文件都不会上传

使用步骤

  1. 选择「编码」或「解码」,以及 HTML 实体或 Unicode 转义。
  2. 粘贴文本,结果实时更新。
  3. HTML 编码时,选择只转义 5 个特殊字符,还是同时转义所有非 ASCII 字符。
  4. 复制结果。

参数说明

只转义特殊字符
把 & < > " ' 转成实体。对于 UTF-8 网页,这样就足够了,中文等字符保持可读。
同时转义非 ASCII
把所有 ASCII 以外的字符(包括中文)转成数字实体,适用于无法保存 UTF-8 的老系统。
使用命名实体
有名称的字符用 &copy;、&nbsp; 等名称表示,没有的用数字实体。
Unicode 转义
\uXXXX 用于 JavaScript 和 JSON(emoji 会变成两个转义,即代理对),\u{…} 用于新版 JavaScript,U+XXXX 用于标注码点,&#…; 是十进制 HTML 实体。

常用实体

字符 命名实体 数字实体
& &amp; &#38;
< &lt; &#60;
> &gt; &#62;
“ &quot; &#34;
’ &apos; &#39;
不换行空格 &nbsp; &#160;
© &copy; &#169;
— &mdash; &#8212;

常见问题

转义 HTML 能防止 XSS 吗?

把文本插入 HTML 元素内容之前进行转义是必要的防护手段之一。但属性、URL、JavaScript、CSS 等上下文各有不同的转义规则,实际开发请优先使用框架自带的转义功能,而不是手动处理。

&nbsp; 和普通空格有什么区别?

不换行空格(U+00A0)看起来和空格一样,但浏览器不会在它所在的位置换行,连续多个也不会被合并。

中文怎么转成 \u 编码?

选择 Unicode 转义中的 \uXXXX,例如「中文」会变成 中文。反过来粘贴 中文 选择解码即可还原。

为什么缺少分号的 &copy 也能解码?

由于历史原因,HTML 标准规定部分常用实体即使没有结尾的分号也会被解码。本工具遵循与浏览器相同的规则。

隐私说明

本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。

相关工具