HTML实体编码解码 — 在线转义HTML字符
HTML实体编码与解码,支持特殊字符和非 ASCII 字符
在浏览器中处理 · 不上传任何内容
功能简介
在 HTML 中,< 和 & 等字符有特殊含义,要按字面显示它们,就需要写成 <、& 这样的实体。本工具可以把文本转换成实体,也可以把实体还原成字符。
使用方法
- 选择编码或解码。
- 编码时选择范围:只转义必需的 5 个字符,或把所有非 ASCII 字符转为数字引用。
- 粘贴文本,结果会立即出现。
- 复制结果,或点击“将输出用作输入”检查能否来回转换。
处理方式
- 仅必需的 5 个:
&转为&,<转为<,>转为>,"转为",'转为'。 - 所有非 ASCII 字符:在上面 5 个的基础上,码位为 128 及以上的每个字符都转为十进制引用(é 转为
é)。一个 emoji 按一个码位处理,而不是两个 UTF-16 代理项。 - 解码:命名引用、十进制引用(
A)和十六进制引用(A)一次性解析,所以&lt;只会变成<,不会继续解码。 - 命名引用来自内置的约五十个名称(amp、lt、gt、quot、apos、nbsp、copy、euro、hellip 等),表外的名称保持不变。
- 值为 0、位于代理区间或超出 Unicode 上限的数字引用,会按 HTML 标准变成替换字符 U+FFFD。
示例
| 输入 | 模式 | 结果 |
|---|---|---|
<a href="x"> |
仅必需的 5 个 | <a href="x"> |
é© |
所有非 ASCII | é© |
👍 |
所有非 ASCII | 👍 |
© 👍 |
解码 | © 👍 |
常见问题
为什么要把文本编码成 HTML 实体?
直接放进页面的文本中,< 之类的字符会被当作标签解析。把必需的字符转成实体后,它们会按字面显示,也有助于防止脚本注入。但它不能代替服务器端正确的输出转义。
必需的 5 个字符是哪些?
& 符号、小于号、大于号、双引号和单引号。它们分别转为 & < > " 和 '。
中文或带重音的字母也需要编码吗?
如果文档是 UTF-8,就不需要。只有当文本要放到编码不确定的地方,或只接受 ASCII 的系统中时,才使用所有非 ASCII 字符模式。
有些实体解码不了。
HTML 定义了两千多个命名实体。本工具内置约五十个常用名称,并支持所有数字引用;不认识的名称会原样保留。