在线 HTML 实体编解码工具
HTML 特殊字符与实体互相转换,防止标签符号破坏页面结构,支持中文转十六进制实体。所有处理均在浏览器本地完成,数据不会上传到任何服务器。
觉得好用?探索更多内容
HTML 实体编解码工具使用说明
HTML 语法中有五个字符具有特殊含义:< 是标签起始符、& 是实体起始符,> " ' 则常用于标签属性。想让页面「原样显示」这些字符(比如在文章里展示一段代码),就必须把它们替换成对应的实体。使用本工具只需三步:
- 第一步:在输入框粘贴内容——编码时输入包含特殊字符的文本或 HTML 片段;解码时粘贴已转义的字符串(如
<div>)。 - 第二步:如需把中文等非 ASCII 字符一并转成
&#x…;十六进制实体,请勾选「编码所有非 ASCII」选项,然后点击「编码」或「解码」。解码基于浏览器标准解析,遇到非法实体时工具会给出错误提示。 - 第三步:点击「复制结果」把输出复制到剪贴板。输出区域以纯文本显示实体,不会被浏览器渲染成网页元素,也不会执行其中的脚本。
典型场景包括:把代码示例贴进博客或富文本编辑器、在 HTML 属性里安全地放入用户输入、排查富文本内容里的隐藏实体等。所有转换都在你的浏览器内存中完成,刷新页面即清空,处理任何代码片段都不必担心泄露。
常见问题(FAQ)
为什么 < 和 & 必须转义成 HTML 实体?
< 是 HTML 标签的起始符,浏览器遇到它会尝试解析成元素;& 是实体的起始符。如果想在页面里原样显示这两个字符,就必须写成 < 和 &,否则轻则页面显示错乱,重则把用户输入当作 HTML 解析,造成 XSS 跨站脚本漏洞。「编码所有非 ASCII」是什么意思,什么时候用?
你 这样的十六进制数字实体(「你」)。在页面声明的字符集不确定、邮件模板对编码敏感、或要把内容嵌入无法直接输入中文的系统时非常有用,任何环境下都能正确还原显示。命名实体和数字实体有什么区别?
&、<、© 便于阅读,但只有常用字符才有对应名字;数字实体如 &(十进制)和 &(十六进制)可以表示任意 Unicode 字符。两者渲染结果完全相同,数字实体覆盖面更广。解码后内容是富文本 HTML 吗?
我的数据会被上传到服务器吗?
相关知识:实体、XSS 与字符集
HTML 实体(HTML Entities)是 SGML「字符引用」机制在 Web 中的延续,分为命名引用(如 不换行空格、— 长破折号)和数字引用两大类。命名实体一共只有两百多个,而数字实体可以覆盖全部 Unicode 字符—— emoji 也可以写成 😀。浏览器解析 HTML 时会把实体替换为真实字符,所以同一个「©」符号,直接写字符、写 © 或写 © 渲染结果完全一样。
实体编码与 Web 安全关系密切:防止 XSS 的第一道防线就是把用户提交的内容在输出到 HTML 前转义,攻击者构造的 <script> 一旦漏转义,就可能变成真正执行的脚本窃取用户 Cookie。反过来,调试他人网页源码时,你会经常看到被转义过的 &lt;——那是「被转义了两次」的 <,用本工具解码两次即可还原。对整段文本做特征校验时,还可以配合本站的 哈希计算器 生成摘要比对;格式化内嵌的 JSON 数据则推荐 JSON 格式化;前端写样式取色时 颜色转换器 也很顺手。
最后提醒一点:实体解码依赖页面字符集正确声明。本工具输出的十六进制数字实体不依赖任何字符集,是最「保险」的写法;但直接书写非 ASCII 字符时,请确保 HTML 文件本身以 UTF-8 保存并声明 <meta charset="UTF-8">,否则会出现乱码。