HTML 实体编码 / 解码 — HTML 转义与反转义
用命名或数字实体对文本进行 HTML 转义,把 & 这类引用解码回字符,并可搜索实体参考表。
<p class="note">Fish & chips — £4.50 at Café "Ōshima" 🐟</p>
HTML 实体参考表
| 字符 | 命名 | 十进制 | 十六进制 | |
|---|---|---|---|---|
| " | " | " | " | |
| & | & | & | & | |
| ' | ' | ' | ' | |
| < | < | < | < | |
| > | > | > | > | |
| · | |   |   | |
| ¡ | ¡ | ¡ | ¡ | |
| ¢ | ¢ | ¢ | ¢ | |
| £ | £ | £ | £ | |
| ¤ | ¤ | ¤ | ¤ | |
| ¥ | ¥ | ¥ | ¥ | |
| ¦ | ¦ | ¦ | ¦ | |
| § | § | § | § | |
| ¨ | ¨ | ¨ | ¨ | |
| © | © | © | © | |
| ª | ª | ª | ª | |
| « | « | « | « | |
| ¬ | ¬ | ¬ | ¬ | |
| · | ­ | ­ | ­ | |
| ® | ® | ® | ® | |
| ¯ | ¯ | ¯ | ¯ | |
| ° | ° | ° | ° | |
| ± | ± | ± | ± | |
| ² | ² | ² | ² | |
| ³ | ³ | ³ | ³ | |
| ´ | ´ | ´ | ´ | |
| µ | µ | µ | µ | |
| ¶ | ¶ | ¶ | ¶ | |
| · | · | · | · | |
| ¸ | ¸ | ¸ | ¸ | |
| ¹ | ¹ | ¹ | ¹ | |
| º | º | º | º | |
| » | » | » | » | |
| ¼ | ¼ | ¼ | ¼ | |
| ½ | ½ | ½ | ½ | |
| ¾ | ¾ | ¾ | ¾ | |
| ¿ | ¿ | ¿ | ¿ | |
| À | À | À | À | |
| Á | Á | Á | Á | |
| Â | Â | Â | Â | |
| Ã | Ã | Ã | Ã | |
| Ä | Ä | Ä | Ä | |
| Å | Å | Å | Å | |
| Æ | Æ | Æ | Æ | |
| Ç | Ç | Ç | Ç | |
| È | È | È | È | |
| É | É | É | É | |
| Ê | Ê | Ê | Ê | |
| Ë | Ë | Ë | Ë | |
| Ì | Ì | Ì | Ì | |
| Í | Í | Í | Í | |
| Î | Î | Î | Î | |
| Ï | Ï | Ï | Ï | |
| Ð | Ð | Ð | Ð | |
| Ñ | Ñ | Ñ | Ñ | |
| Ò | Ò | Ò | Ò | |
| Ó | Ó | Ó | Ó | |
| Ô | Ô | Ô | Ô | |
| Õ | Õ | Õ | Õ | |
| Ö | Ö | Ö | Ö | |
| × | × | × | × | |
| Ø | Ø | Ø | Ø | |
| Ù | Ù | Ù | Ù | |
| Ú | Ú | Ú | Ú | |
| Û | Û | Û | Û | |
| Ü | Ü | Ü | Ü | |
| Ý | Ý | Ý | Ý | |
| Þ | Þ | Þ | Þ | |
| ß | ß | ß | ß | |
| à | à | à | à | |
| á | á | á | á | |
| â | â | â | â | |
| ã | ã | ã | ã | |
| ä | ä | ä | ä | |
| å | å | å | å | |
| æ | æ | æ | æ | |
| ç | ç | ç | ç | |
| è | è | è | è | |
| é | é | é | é | |
| ê | ê | ê | ê | |
| ë | ë | ë | ë | |
| ì | ì | ì | ì | |
| í | í | í | í | |
| î | î | î | î | |
| ï | ï | ï | ï | |
| ð | ð | ð | ð | |
| ñ | ñ | ñ | ñ | |
| ò | ò | ò | ò | |
| ó | ó | ó | ó | |
| ô | ô | ô | ô | |
| õ | õ | õ | õ | |
| ö | ö | ö | ö | |
| ÷ | ÷ | ÷ | ÷ | |
| ø | ø | ø | ø | |
| ù | ù | ù | ù | |
| ú | ú | ú | ú | |
| û | û | û | û | |
| ü | ü | ü | ü | |
| ý | ý | ý | ý | |
| þ | þ | þ | þ | |
| ÿ | ÿ | ÿ | ÿ | |
| Α | Α | Α | Α | |
| Β | Β | Β | Β | |
| Γ | Γ | Γ | Γ | |
| Δ | Δ | Δ | Δ | |
| Ε | Ε | Ε | Ε | |
| Ζ | Ζ | Ζ | Ζ | |
| Η | Η | Η | Η | |
| Θ | Θ | Θ | Θ | |
| Ι | Ι | Ι | Ι | |
| Κ | Κ | Κ | Κ | |
| Λ | Λ | Λ | Λ | |
| Μ | Μ | Μ | Μ | |
| Ν | Ν | Ν | Ν | |
| Ξ | Ξ | Ξ | Ξ | |
| Ο | Ο | Ο | Ο | |
| Π | Π | Π | Π | |
| Ρ | Ρ | Ρ | Ρ | |
| Σ | Σ | Σ | Σ | |
| Τ | Τ | Τ | Τ | |
| Υ | Υ | Υ | Υ | |
| Φ | Φ | Φ | Φ | |
| Χ | Χ | Χ | Χ | |
| Ψ | Ψ | Ψ | Ψ | |
| Ω | Ω | Ω | Ω | |
| α | α | α | α | |
| β | β | β | β | |
| γ | γ | γ | γ | |
| δ | δ | δ | δ | |
| ε | ε | ε | ε | |
| ζ | ζ | ζ | ζ | |
| η | η | η | η | |
| θ | θ | θ | θ | |
| ι | ι | ι | ι | |
| κ | κ | κ | κ | |
| λ | λ | λ | λ | |
| μ | μ | μ | μ | |
| ν | ν | ν | ν | |
| ξ | ξ | ξ | ξ | |
| ο | ο | ο | ο | |
| π | π | π | π | |
| ρ | ρ | ρ | ρ | |
| ς | ς | ς | ς | |
| σ | σ | σ | σ | |
| τ | τ | τ | τ | |
| υ | υ | υ | υ | |
| φ | φ | φ | φ | |
| χ | χ | χ | χ | |
| ψ | ψ | ψ | ψ | |
| ω | ω | ω | ω | |
| Œ | Œ | Œ | Œ | |
| œ | œ | œ | œ | |
| Š | Š | Š | Š | |
| š | š | š | š | |
| Ÿ | Ÿ | Ÿ | Ÿ | |
| ƒ | ƒ | ƒ | ƒ | |
| ˆ | ˆ | ˆ | ˆ | |
| ˜ | ˜ | ˜ | ˜ | |
| ϑ | ϑ | ϑ | ϑ | |
| ϒ | ϒ | ϒ | ϒ | |
| ϖ | ϖ | ϖ | ϖ | |
| · |   |   |   | |
| · |   |   |   | |
| · |   |   |   | |
| · | ‌ | ‌ | ‌ | |
| · | ‍ | ‍ | ‍ | |
| · | ‎ | ‎ | ‎ | |
| · | ‏ | ‏ | ‏ | |
| – | – | – | – | |
| — | — | — | — | |
| ‘ | ‘ | ‘ | ‘ | |
| ’ | ’ | ’ | ’ | |
| ‚ | ‚ | ‚ | ‚ | |
| “ | “ | “ | “ | |
| ” | ” | ” | ” | |
| „ | „ | „ | „ | |
| † | † | † | † | |
| ‡ | ‡ | ‡ | ‡ | |
| • | • | • | • | |
| … | … | … | … | |
| ‰ | ‰ | ‰ | ‰ | |
| ′ | ′ | ′ | ′ | |
| ″ | ″ | ″ | ″ | |
| ‹ | ‹ | ‹ | ‹ | |
| › | › | › | › | |
| ‾ | ‾ | ‾ | ‾ | |
| ⁄ | ⁄ | ⁄ | ⁄ | |
| € | € | € | € | |
| ℑ | ℑ | ℑ | ℑ | |
| ℘ | ℘ | ℘ | ℘ | |
| ℜ | ℜ | ℜ | ℜ | |
| ™ | ™ | ™ | ™ | |
| ℵ | ℵ | ℵ | ℵ | |
| ← | ← | ← | ← | |
| ↑ | ↑ | ↑ | ↑ | |
| → | → | → | → | |
| ↓ | ↓ | ↓ | ↓ | |
| ↔ | ↔ | ↔ | ↔ | |
| ↵ | ↵ | ↵ | ↵ | |
| ⇐ | ⇐ | ⇐ | ⇐ | |
| ⇑ | ⇑ | ⇑ | ⇑ | |
| ⇒ | ⇒ | ⇒ | ⇒ | |
| ⇓ | ⇓ | ⇓ | ⇓ | |
| ⇔ | ⇔ | ⇔ | ⇔ | |
| ∀ | ∀ | ∀ | ∀ | |
| ∂ | ∂ | ∂ | ∂ | |
| ∃ | ∃ | ∃ | ∃ | |
| ∅ | ∅ | ∅ | ∅ | |
| ∇ | ∇ | ∇ | ∇ | |
| ∈ | ∈ | ∈ | ∈ | |
| ∉ | ∉ | ∉ | ∉ | |
| ∋ | ∋ | ∋ | ∋ | |
| ∏ | ∏ | ∏ | ∏ | |
| ∑ | ∑ | ∑ | ∑ | |
| − | − | − | − | |
| ∗ | ∗ | ∗ | ∗ | |
| √ | √ | √ | √ | |
| ∝ | ∝ | ∝ | ∝ | |
| ∞ | ∞ | ∞ | ∞ | |
| ∠ | ∠ | ∠ | ∠ | |
| ∧ | ∧ | ∧ | ∧ | |
| ∨ | ∨ | ∨ | ∨ | |
| ∩ | ∩ | ∩ | ∩ | |
| ∪ | ∪ | ∪ | ∪ | |
| ∫ | ∫ | ∫ | ∫ | |
| ∴ | ∴ | ∴ | ∴ | |
| ∼ | ∼ | ∼ | ∼ | |
| ≅ | ≅ | ≅ | ≅ | |
| ≈ | ≈ | ≈ | ≈ | |
| ≠ | ≠ | ≠ | ≠ | |
| ≡ | ≡ | ≡ | ≡ | |
| ≤ | ≤ | ≤ | ≤ | |
| ≥ | ≥ | ≥ | ≥ | |
| ⊂ | ⊂ | ⊂ | ⊂ | |
| ⊃ | ⊃ | ⊃ | ⊃ | |
| ⊄ | ⊄ | ⊄ | ⊄ | |
| ⊆ | ⊆ | ⊆ | ⊆ | |
| ⊇ | ⊇ | ⊇ | ⊇ | |
| ⊕ | ⊕ | ⊕ | ⊕ | |
| ⊗ | ⊗ | ⊗ | ⊗ | |
| ⊥ | ⊥ | ⊥ | ⊥ | |
| ⋅ | ⋅ | ⋅ | ⋅ | |
| ⌈ | ⌈ | ⌈ | ⌈ | |
| ⌉ | ⌉ | ⌉ | ⌉ | |
| ⌊ | ⌊ | ⌊ | ⌊ | |
| ⌋ | ⌋ | ⌋ | ⌋ | |
| ⟨ | ⟨ | ⟨ | ⟨ | |
| ⟩ | ⟩ | ⟩ | ⟩ | |
| ◊ | ◊ | ◊ | ◊ | |
| ♠ | ♠ | ♠ | ♠ | |
| ♣ | ♣ | ♣ | ♣ | |
| ♥ | ♥ | ♥ | ♥ | |
| ♦ | ♦ | ♦ | ♦ |
共 253 个实体,显示 253 个。不可见字符(空格、连接符、软连字符)显示为 ·。
完全在浏览器中运行。你输入的任何内容都不会发送给我们或被存储。 浏览全部免费工具.
发现问题,或者觉得哪里可以更好?每条消息我们都会阅读,并尽快修复。
这款 HTML 实体编码解码工具可以在字符和 HTML 字符引用之间相互转换。编码会把在标记语言中有特殊含义的五个字符(< > & " ')转换为 < > & " 和 ',这样文本就能显示在页面上或放进属性中,而不会被当作 HTML 解析。你还可以编码所有非 ASCII 字符,这在模板、邮件或旧系统把 UTF-8 搞乱时很有帮助。
解码支持 é、… 等命名实体,é 这样的十进制引用和 é 这样的十六进制引用,并遵循 HTML5 解析器本身的规则,包括它对无效码位的特殊处理。不在内置 253 项表格中的名称会交由浏览器的 HTML 解析器查找,因此 HTML5 的 2,000 多个名称都能解码。未知名称会原样保留并列出,而不是悄无声息地消失。本工具只转换文本,并不是 HTML 净化器。
使用方法
- 选择“编码”或“解码”。
- 编码时选择范围:仅五个不安全字符(普通 HTML 已足够)、所有非 ASCII 字符,或除字母、数字和空格以外的所有字符。
- 选择命名、十进制或十六进制引用。命名模式下,没有名称的字符会改用十进制。
- 输入或粘贴内容;输出会随输入实时更新。“交换”会把输出送回输入框,用于检验往返转换。
- 在参考表中按名称、字符、十进制代码或分组(例如“箭头”或“希腊”)搜索,并复制实体。
常见问题
HTML 中哪些字符必须转义?
在文本内容中,< 和 & 必须转义,因为它们分别是标签和实体的开头。在属性值中,还要转义用来界定属性的引号:" 转为 ",或 ' 转为 '。把 > 转义为 > 并非严格必需,但这是惯例且无害。其他所有字符,包括带重音字母和表情符号,都可以在 UTF-8 页面中原样出现。
和普通空格有什么区别?
是 U+00A0,即不换行空格。与普通空格不同,浏览器不会在它所在的位置换行,也不会把多个连续的它合并成一个。它适合把“10 kg”或“Mr. Smith”保持在同一行。如果用一排排 来排版,说明这件事应该交给 CSS 来做。
应该用 ' 还是 '?
' 在 XML 和 HTML5 中有定义,但 HTML 4 中没有,所以非常老的浏览器和一些邮件客户端无法识别它。' 在任何地方都能用,因此本编码器即使在命名模式下也用它表示撇号。在现代 HTML5 页面中,两者都可以。
HTML 编码足以防止 XSS 吗?
转义 < > & " ' 可以防止注入到 HTML 文本和带引号的属性值中,这覆盖了最常见的情况。但它不能保证值在 <script> 块、style 属性、不带引号的属性或 href="javascript:..." 这样的 URL 中是安全的。每种上下文都需要各自的编码或校验。请使用默认会转义的模板引擎;必须接受用户 HTML 时,使用 DOMPurify 等净化库。
为什么我的文本中出现了 &amp; 或 é?
&amp; 说明文本被 HTML 编码了两次:& 变成了 &,然后这个 & 又被编码了一次。多出几层就解码几次。é 变成 é 则不是实体的问题,而是编码不匹配:UTF-8 字节被当作 Windows-1252 或 Latin-1 读取了。请修正字符集声明或数据库连接的编码;用实体只是掩盖了症状。
命名引用、十进制引用和十六进制引用
HTML 提供了三种写法来表示同一个字符。© 这样的命名引用可读性好,但只适用于 HTML 定义了名称的字符。© 这样的十进制引用和 © 这样的十六进制引用适用于所有 Unicode 码位,包括表情符号:🌲 写作 🌲 或 🌲,整个字符用一个引用表示,而不是把它的 UTF-16 两半分成两个。
本工具表格中的 253 个名称是 HTML 4 的集合再加上 '。所有浏览器、邮件客户端和 HTML 库都支持它们。HTML5 又增加了约 2,000 个,大多是数学符号(≂̸、⨂),在现代浏览器中可以解码;但如果内容会经过较旧的工具处理,最好直接写成 UTF-8 字符或数字引用。
名称区分大小写:É 是 É,é 是 é。少数名称(如 © 和 &)出于历史原因也有大写形式,但小写形式才是标准写法。
什么时候该编码,什么时候不该
• 在页面上显示用户输入:在输出时(在模板中)转义五个不安全字符,而不是在存入数据库时转义。
• 博客文章或文档中的代码示例:转义 < 和 &,让标签以文本形式显示。
• 邮件模板以及 UTF-8 支持不可靠的旧系统:把所有非 ASCII 字符编码为数字引用,内容在任何字符集下都能完好保留。
• 现代 UTF-8 页面:不要编码带重音字母、弯引号或表情符号。直接使用字符体积更小、可被搜索,也更便于编辑。
• JSON、URL 和 JavaScript 字符串:HTML 实体在这些地方毫无意义。请分别使用 JSON 转义、百分号编码或 JavaScript 字符串转义。
数字引用是如何解码的
HTML5 规范规定了解析器遇到奇怪的数字引用时必须怎么做,本解码器遵循这些规定。�、指向代理码位的引用(�)以及大于 U+10FFFF 的值都会变成替换字符 U+FFFD。€ 到 Ÿ 范围内的引用按 Windows-1252 解读,所以 – 是短破折号,€ 是欧元符号,因为老网页写下它们时就是这个意思。
命名引用只有以分号结尾时才会被解码。浏览器在文本中也接受少数不带分号的旧名称,如 © 或 &,但这种行为取决于后面跟着什么,所以内容中应始终带上分号。
相关免费工具
- URL 编码 / 解码 — 以组件、完整 URL 或表单模式对 URL 文本进行百分号编码或解码,并可在表格中编辑 URL 的查询参数。
- Base64 编码 / 解码工具 — 把文本或文件编码为 Base64,把图片转成带 CSS 和 <img> 代码片段的 data URI,还能把 Base64 解码回可预览的文件。数据不会离开你的浏览器。
- Meta 标签生成器 — 填写页面的标题、描述和社交卡片信息,即可得到完整且正确转义的 <head> 代码块,并实时显示长度计数。
- JSON 格式化 — 格式化、压缩和校验 JSON,解析错误精确到行和列。在浏览器中运行,无需上传。