实用工具
输入
结果
结果会显示在这里。你的运行记录
只有消耗积分的运行才会保存。
登录后可以保留你的运行记录。
转义那五个能突破标记的字符——& < > " '——正是让用户文本不会变成用户标记的关键。这个工具负责编码它们,反方向则能解码具名、十进制和十六进制引用,包括 emoji 和生僻文字常以数字引用形式出现的那些。
它是怎么工作的
- 最小模式只转义那五个真正影响正确性的字符,输出仍然可读。
- 全量模式会转义 ASCII 字母数字之外的所有字符,供无法承载 UTF-8 的场景使用。
- 解码支持具名、十进制和十六进制引用,无法识别的引用会原样保留。
你的数据去了哪里
哪也没去。本工具完全在你的浏览器里运行:你粘贴的文本由页面处理,不会传输到任何服务器,也不会写进任何日志。
当一次运行消耗积分时,会向你自己的历史里保存一行摘要,方便回头查找。摘要记录的是这次运行的形态——大小、数量、你查询的值——而不是你粘贴的内容。
它要花多少
单次 50.0 KB 以内免费,无需账号。超出部分每次运行消耗 1 积分,并保存到你的历史记录。
积分来自注册、每日签到、发表评论和完善资料。
了解积分规则常见问题
- 做了转义就能防住 XSS 吗?
- 只对 HTML 正文里的文本成立。在属性内部、script 块内部或 URL 中,转义规则是不同的,在那些位置仅做实体编码并不够。对任何用户可控的内容,请使用框架提供的按上下文转义。
- 和空格有什么不同?
- 不换行空格会阻止折行,也不会与相邻空白合并。从网页复制到代码里时它看起来就是个空格,却会让解析失败——这正是调试前先解码文本很值得的原因。
- 所有非 ASCII 字符都需要转义吗?
- 不需要。以 UTF-8 提供的页面能直接处理它们,转义反而让源码更难读。全量模式是为那些编码不可信的老旧链路准备的。
背后的开源项目
本工具是独立实现,并未打包第三方库。mathiasbynens/he(MIT)在代码层面做的是同一件事——如果你需要在自己的程序里实现它,从那里开始,而不是调用一个网页。
mathiasbynens/he也常被称作
- html实体编码
- html转义
- html解码
- 转义字符转换
- html反转义