HTML实体编码 — 特殊字符转义与反转义在线工具
HTML 实体编码解码器,支持命名实体、十进制和十六进制三种引用格式。可选全量非 ASCII 编码模式,防止 XSS 攻击和标记破坏。
功能特性
- ✓实时编码或解码 HTML 实体
- ✓支持命名实体(&)、十进制(&)和十六进制(&)引用
- ✓编码全部非 ASCII 字符选项,适合国际化内容兼容性
- ✓输入即更新,无需点击
- ✓拖拽选择、一键复制、保存为 .txt 文件
- ✓完全在浏览器中运行——不上传任何数据
- ✓一次性编码全部五个 XML 敏感字符(<、>、&、"、')
- ✓将实体编码字符串自动解码回原始字符
- ✓字符级和字节级长度计数器,方便控制内容大小
- ✓编码时保留已存在的实体,避免双重编码问题
使用方法
- 1在输入区域粘贴文本,一键切换编码和解码。
- 2启用「编码全部非 ASCII」可将非 ASCII 字符(é、中文、🚀)转为数字实体。
- 3结果实时更新。使用复制或保存按钮保存。
- 4嵌入代码片段到博客文章前先编码——粘贴代码,复制编码版本以防止 HTML 渲染问题。
- 5解码 RSS 内容或使用数字实体的 HTML 邮件模板——粘贴编码文本并切换到解码模式查看原始内容。
- 6与其他开发者共享编码内容时使用命名实体输出,可读性更好。
- 7使用十进制或十六进制数字实体以获得任何 Unicode 字符的通用支持,尤其在命名实体不存在时。
- 8在国际化内容发布到不支持 UTF-8 的旧版 CMS 系统前,启用「编码全部非 ASCII」选项。
- 9通过打开文件批量处理多个代码片段,一次编码全部内容并保存结果。
- 10将编码输出粘贴到浏览器的开发者工具控制台中验证渲染是否正确。
常见问题
什么是 HTML 实体编码?
∨
HTML 实体编码将 HTML 中有特殊含义的字符(<、>、&、"、')转换为安全的实体表示(如 <、>、&),防止浏览器将其解释为标记。这在显示代码片段和防止 XSS 攻击时至关重要。
命名实体、十进制和十六进制有什么区别?
∨
命名实体使用描述性名称,如 & 或 <。十进制数字实体使用 &(十进制码点)。十六进制数字实体使用 &(十六进制码点)。命名实体更易读,但数字实体适用于任何 Unicode 字符。在 HTML5 中它们都是有效的。
「编码全部非 ASCII」选项有什么用?
∨
启用后,所有非 ASCII 字符(包括 emoji、中文、重音字母等)都会转换为数字实体如 é。这对不支持 UTF-8 的旧系统很有用,或需要确保跨不同字符编码的最大兼容性时使用。
我的数据会被上传到服务器吗?
∨
不会。所有处理完全在浏览器中完成,数据不会离开您的设备,不会通过网络传输,也不会存储在任何地方。
什么时候应该使用 HTML 实体编码?
∨
在网页中显示用户生成内容时(XSS 防护)、在博客文章或文档中嵌入代码片段时、或将特殊字符插入 HTML 属性时使用实体编码。现代框架(如 React)默认自动转义,但在使用 raw innerHTML、CMS 导出和邮件模板时需要手动编码。
HTML 实体编码能防止 XSS 攻击吗?
∨
是的,将用户输入编码为 HTML 实体是防止 XSS(跨站脚本)攻击的主要防御手段。通过将 < 转换为 <,> 转换为 >,浏览器不会解释注入的 HTML 标签或脚本。在 HTML 页面中渲染用户生成内容之前,始终进行编码。
编码 HTML 实体时会转换哪些字符?
∨
五个基本字符是:&(ampersand → &)、<(小于号 → <)、>(大于号 → >)、"(双引号 → ")和 '(单引号 → ')。「编码全部非 ASCII」选项额外将 ASCII 范围外的任何字符转换为数字实体。
可以编码混合内容(HTML + 纯文本)吗?
∨
可以。工具将输入视为纯文本进行编码——它对字符进行转义而不尝试解析 HTML。这意味着编码时已存在的实体(如 &)会被双重编码(&amp;)。解码模式下,已存在的实体被正确解码回字符。
如何避免双重编码?
∨
双重编码发生在对已包含实体的文本进行编码时(例如再次编码 & 会产生 &amp;)。为避免这种情况,先用解码模式将实体恢复为原始字符,再编码。工具在编码时会保留已存在的实体。
& 和 & 有什么区别?
∨
都表示 & 符号。& 是命名实体——可读性更好、更直观。& 是十进制数字实体,使用字符的 Unicode 码点(38 = 0x26)。& 是十六进制等价形式。在 HTML5 中都有效,浏览器渲染效果完全相同。
什么时候使用「编码全部非 ASCII」选项?
∨
在目标邮件客户端使用 ISO-8859-1 等旧版字符编码时,或发布内容到已知会错误处理 UTF-8 的 CMS 平台时使用。它将 emoji、中文、重音字母等 Unicode 字符转换为数字实体,确保在任何地方都能正确渲染。