HTML实体编解码
HTML 实体编码和解码。
这个工具能做什么
HTML实体编码工具的作用,是把源码或文本里有特殊含义的字符(如 <、>、&、双引号、单引号)替换成对应的 HTML 实体,反过来也能把 <、>、& 这类实体还原成原字符。最常见的痛点是:想在网页里原样展示一段 HTML 代码,直接贴进去浏览器会把它当成真标签渲染,页面结构就乱了;或者用户输入里带了尖括号和 & 号,拼接进 HTML 时可能破坏 DOM,甚至埋下 XSS 隐患。做一次 HTML 实体编码(html 转义)之后,浏览器就只把这些字符当普通文字显示,需要时再用 HTML 实体解码还原回去。全部处理在浏览器本地完成,不上传。
HTML 字符实体有两种写法:一种是命名实体,如 < > & " ;另一种是数字引用,十进制写作 <、十六进制写作 <,两者都对应字符的 Unicode 码位。真正必须转义的核心转义字符其实只有 &、<、>、双引号、单引号这五个,其中 & 必须最先处理,否则会把已经生成的实体再转义一次(二次编码)。解码是反向查表的过程,把实体名或数字码位还原成对应字符。对于中文、emoji 这类非 ASCII 字符,也可以按码位转成 中 这样的数字实体,底层依据就是 UTF-8/Unicode 的字符编号。
最典型的场景是写技术博客或文档时贴代码示例:要让文章里出现 <div class="box"> 这段标签本身,就得先把它编码成 <div class="box">,读者看到的才是代码文字,而不是被渲染出来的盒子。另一个高频场景是排查显示异常,比如接口返回的内容在页面上显示成 &amp; 或 <br>,说明数据被转义了两次、或者该解码的地方没解码;把它粘进来解码一次,就能看清原始文本,快速判断是前端模板还是后端接口的转义环节出了问题。日常拼接动态内容时,也可以先对用户提交的字符串做实体编码再输出到页面,避免内容里的标签影响布局。
需要区分的是,HTML 实体编码、URL 编码(%XX 百分号编码)、Base64 属于不同层面的东西,各自针对不同上下文,别混用。同一个字符往往有多种合法实体写法,例如单引号既能写成 ' 也能写成 ',解码时两种都要能识别,但编码输出一般只取一种。还有一个常见误区:实体编码只能防住出现在 HTML 文本内容里的注入,如果字符落在属性值、URL、JavaScript 或 CSS 中,各自的转义规则并不相同,不能只靠一次 html 实体编码就当成万无一失的安全措施。
HTML实体编解码是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“html实体编码”、“html转义”、“html实体解码”,说的都是这个。
常见使用场景
- 在技术博客里贴 HTML 代码示例避免被浏览器渲染
- 把用户输入的尖括号转义后再拼进页面
- 解码接口返回的 < & 查看原始文本
- 排查页面显示成 &amp; 的双重编码问题
- 把中文或特殊符号转成数字实体 中
使用方法
- 把内容粘贴到输入框(生成类工具直接设置选项)。
- 按需要选择选项,点操作按钮。
- 结果出现在下方,点「复制结果」即可带走。