HTML 实体编码/解码
在线 HTML 实体编码和解码工具,适合处理代码片段和富文本内容。
使用说明
- 1 输入 HTML 或实体文本
- 2 选择编码或解码
- 3 查看结果并复制
相关工具
ASCII / 二进制互转
在线 ASCII 与二进制互转工具,支持文本转 8 位二进制和二进制转文本。
Base64编码/解码
在线Base64编码和解码工具,支持文本与Base64互转,实时预览结果
进制转换增强
任意进制 (2-36) 互转工具,支持小数/分数部分,并同时显示 2/8/10/16/36 进制结果。
Punycode编码转换
在线Punycode编码转换工具,支持中文域名与Punycode互转,双向转换。
Query String 解析/组装
在线 Query String 解析和组装工具,支持 URL 参数快速拆解与重建。
进制转换
在线进制转换工具,支持二进制、八进制、十进制和十六进制之间的快速互转
二进制文本转换
文本与二进制相互转换:将每个字符编码为 8 位二进制(空格分隔),或将二进制串解码为文本。
Unicode 转换
在线 Unicode 转换工具,支持文本与 Unicode 转义序列双向互转。
URL编码/解码
在线URL编码和解码工具,支持encodeURIComponent双向转换,实时预览结果
关于此工具
HTML 实体编码将 <、>、&、" 等特殊字符转换为 <、>、& 等 HTML 实体,防止浏览器将内容解析为 HTML 标签。在富文本编辑器、用户评论展示、代码高亮场景中,正确转义是防止 XSS 攻击的第一道防线。
常见场景:将代码片段嵌入 HTML 页面展示时需要转义尖括号;从数据库或 API 获取到已转义的 HTML 实体需要还原为可读文本;爬虫解析 HTML 时遇到 &nbsp; 等实体需要统一解码处理。
相比手写 replace 替换链,本工具覆盖完整的 HTML5 命名实体(包括 ©、— 等数百个符号),双向处理,避免遗漏导致页面显示异常或安全漏洞。
常见问题
什么情况下必须做 HTML 实体编码? +
当用户输入的内容(评论、昵称、搜索词等)要直接插入 HTML 文档时,必须先做实体编码。尤其是包含 <script>、<img onerror=> 等字符串时,不转义会导致 XSS 攻击,攻击者可执行任意 JavaScript。
和普通空格有什么区别? +
是不换行空格(Non-Breaking Space),浏览器不会在此处自动换行,也不会合并多个连续空格为一个。普通空格在 HTML 中会被合并。排版时若需要保留多个空格或防止特定位置换行,才使用 。
解码后为什么有些实体变成了问号或方框? +
这通常是字体不支持对应的 Unicode 字符。HTML 实体(如 😀 表示 😀)解码后是正确的 Unicode 字符,只是当前字体没有对应字形。换用支持 Emoji 或特殊符号的字体即可正常显示。
HTML 实体编码能完全防止 XSS 吗? +
转义 HTML 上下文中的内容可以防止大多数 XSS,但还不够。在 JavaScript 上下文(如 onclick 属性值)、CSS 上下文(如 style 属性)中插入用户数据需要额外的转义策略。完整的 XSS 防护需要结合 CSP 策略和框架内置的安全机制。
能处理 &#x 十六进制形式的 HTML 实体吗? +
可以。本工具支持三种形式的 HTML 实体解码:命名实体(&)、十进制数字实体(&)和十六进制数字实体(&)。编码时默认输出命名实体形式,常见字符均有对应命名,更直观易读。