开发者工具

HTML 解码

将 HTML 实体还原为普通字符。

给这个工具评分

如何使用 HTML 解码

  1. 粘贴包含 HTML 实体的文本。
  2. 复制解码后的字符。

关于 HTML 解码

解码会把实体还原成它们所代表的字符:& 还原为与号,< 还原为小于号,' 还原为撇号。当内容从数据库、订阅源、API 或抓取的页面中以转义甚至双重转义的形式到达时,这正是你需要的功能,可以帮你看到原始文本。

此工具不使用手写的对照表,而是直接交给你浏览器自带的 HTML 解析器处理,因此它了解完整的命名实体集合—— ©é 等数百个实体——以及十进制数字引用(如 —)和十六进制引用(如 —)。命名形式和数字形式可以互换;数字形式只是直接给出了对应的 Unicode 码点。不含实体的文本会原样通过。

真正的标记会以纯文本形式输出:解码一个被转义的 <b> 标签,得到的是字面字符,而不是加粗文字。这里不会渲染或执行任何内容,也不会上传任何数据——一切都在页面本地完成。值得记住的是,解码后的输出又变回了原始文本,如果它要被放回网页中,就需要用 HTML 编码工具,根据正确的上下文重新进行转义。

常见问题

支持哪些实体?

实际上支持所有实体。解码使用你浏览器内置的 HTML 解析器,而不是固定列表,因此完整的命名实体集合,连同十进制引用(如 &#8212;)和十六进制引用(如 &#x2014;)都能正常使用。

它会渲染或运行我粘贴的 HTML 吗?

不会。输出是纯文本——一个被转义的标签会解码成该标签的字面字符,而不是渲染出来的元素。你输入的任何内容都不会被执行。

我的文本解码后仍然显示实体,为什么?

这是双重编码的结果:序列 &amp;lt; 解码后得到 &lt;,再解码一次才会变成小于号。请再进行一次解码以得到原始文本,然后查一下该值在上游为何经过了两道转义。

&nbsp; 只是普通空格吗?

并不完全是。它解码为不间断空格 U+00A0——虽然外观相同,但与普通空格是不同的字符。这个差异经常在字符串比较和正则匹配中带来意外问题。

我的内容会被发送到服务器吗?

不会。解码在你的浏览器中完成,粘贴的内容始终留在你的设备上。