在线 HTML 编码解码工具 — 将 HTML 特殊字符编码为实体,或从实体解码回原始字符。支持 & < > " '
使用场景
前端开发者应该最熟悉了。你要在网页上动态插入用户输入的内容,比如评论、用户名、搜索关键词,如果不做 HTML 转义,用户输入个 <script>alert('xss')</script> 就直接执行了,这就是典型的 XSS 跨站脚本攻击。用这个工具把 < 转成 <、> 转成 >,浏览器就会把它们当作纯文本显示,不会当成标签解析。
做邮件模板或者富文本编辑器的朋友也经常用到。有些邮件客户端对 HTML 实体的支持不太一样,你需要确认特殊字符编码后在不同客户端里显示是否正常。直接在编辑区域输入符号,然后看看编码后的实体字符串长什么样,心里就有底了。
还有一个很多人不知道的用法:有时候你在 Markdown 编辑器里想显示一个 & 符号,但它被解析成了 HTML 实体。或者想显示 <> 尖括号但被当成了 HTML 标签。先编码一下再粘贴进去就搞定了。做 CMS 内容编辑、博客写作的人也会经常遇到这种情况。
常见问题
问:HTML 编码和 URL 编码是一回事吗?
答:不是。HTML 编码(也叫 HTML 实体编码)是把 <、>、&、" 等字符转成 <、>、&、" 等形式,用于在 HTML 文档中安全显示。URL 编码(百分比编码)是把特殊字符转成 %XX 格式,用于 URL 中。两者用途完全不同,不要搞混。
问:编码之后的内容还能还原回来吗?
答:可以。这个工具支持双向转换。编码(Encode)把特殊字符变成实体,解码(Decode)把实体还原成原始字符。比如 <script> 解码后就变回 <script>。
问:哪些字符需要做 HTML 编码?
答:至少有五个字符在 HTML 中有特殊含义,建议始终编码:&(&)、<(<)、>(>)、"(")、'(')。其他字符一般不需要,除非你要在属性值或特殊上下文中使用。
相关工具推荐
- HTML 实体编码/解码工具 - 更全面的 HTML 实体互转
- URL 编码解码 - URL 专用编码解码工具
- Base64 编码解码 - 另一种常见的编码方式