HTML 实体编码解码
输入文字或 HTML 片段,点“编码”把特殊字符转成实体;粘贴含 < 你 的内容,点“解码”还原。粘贴的内容只当文字处理,不会被当成网页执行,也不会上传。
使用限制
- 命名实体支持 HTML 4 的 252 个(
、©、…、希腊字母、箭头等)以及';HTML5 新增的两千多个冷僻实体不在表里,会原样保留并在结果上方提示个数。 - 实体必须以分号结尾才会被解码(
©不带分号不处理)。 - 数字实体按网页规则处理:0、超出范围或代理区的码点变成 U+FFFD;128 到 159 之间的数字按 Windows-1252 对应字符还原(如
–是“–”)。 - 这里只做实体转义,不会检查或清理 HTML;不要把它当作防范脚本注入的唯一措施,正式项目请用模板引擎自带的转义。
使用方法
- 编码:输入要放进网页里的文字,点“编码”。
&<>"会被转义,避免被浏览器当成标签。 - 解码:粘贴带有
<、©、你、你的内容,点“解码”。 - 每次解码只还原一层:
&lt;会变成<,再点一次才会变成<。需要时用“把结果放回输入框”。
常见问题
哪些字符一定要转义?
在 HTML 正文里是 &、<;写在属性值里还要处理引号 "(属性用单引号时还有 ')。> 严格说可以不转,但转了更稳妥。
是什么?
不换行空格(U+00A0)。它看起来像空格,但浏览器不会把连续的几个合并成一个,也不会在它这里换行。
解码时会不会运行我粘贴的 <script>?
不会。本工具不把你的内容交给浏览器当网页解析,而是自己查表替换,结果只作为纯文字显示在文本框里。
为什么有些实体没有被还原?
要么没有以分号结尾,要么是不在 HTML 4 列表里的冷僻实体,要么本来就写错了(如 &unknown;)。这些都会原样保留,不会瞎猜。