HTML 实体编码器

为 HTML 转义文本:将 & < > " ' 转为实体,也可将所有非 ASCII 字符转为命名、十进制或十六进制实体。避免标记被破坏,本地运行。

44 个字符 · 49 字节(UTF-8)

0 个字符 · 0 字节(UTF-8)

完全在浏览器中运行,您的数据不会被上传。

什么是 HTML 编码?

对文本进行转义,使其可以放入 HTML 中而不会被当作标记解析。默认会编码五个关键字符 & < > " ';你也可以把每个非 ASCII 字符转换为实体,使用 &eacute; 这样的 HTML 4 命名实体或数字引用。

如何使用 HTML 编码

  1. 在输入中键入或粘贴文本或 HTML。
  2. 选择要编码的字符:仅 & < > " ',或同时包含所有非 ASCII 字符。
  3. 选择实体格式:命名、十进制或十六进制。
  4. 从输出中复制转义后的文本。

示例

输入
<a href="x">Tom & Jerry's</a>
输出
&lt;a href=&quot;x&quot;&gt;Tom &amp; Jerry&#39;s&lt;/a&gt;

何时使用 HTML 编码

在向 HTML、类 XML 模板或展示代码的文档中插入用户提供的文字或字面文本时使用。只有无法存储 UTF-8 的系统才需要编码所有非 ASCII 字符。请注意,针对 HTML 文本的转义不足以用于 <script>、style 或 URL 属性内部——这些位置需要符合各自上下文的转义。

HTML 编码 的工作原理

文本按码位逐个处理。&、<、>、" 和 ' 始终会被替换(' 变为 &#39;,在 HTML 4 和 5 中均可使用)。在非 ASCII 模式下,每个高于 U+007E 的字符会替换为其 HTML 4 实体名(如果存在),否则替换为数字引用;表情符号会变成一个引用,如 &#128512;,而不是两个代理项。

常见用例

  • 在网页上展示 HTML 代码示例
  • 在插入标记之前转义用户输入
  • 安全地把文本放入 HTML 属性
  • 为旧版邮件模板生成仅含 ASCII 的 HTML

安全提示

转义取决于上下文:本工具的输出在 HTML 元素内容和带引号的属性中是安全的,但在 <script> 块或不带引号的属性中则不安全。

常见问题

为什么用 &#39; 而不是 &apos;?

&apos; 在 HTML 4 中没有定义,一些较旧的解析器无法识别。&#39; 在任何地方都能用。

我需要对 é 或表情符号编码吗?

如果页面以 UTF-8 提供(如今已是标准做法),就不需要。仅在面向纯 ASCII 系统时才使用非 ASCII 选项。

这能防止 XSS 吗?

对 HTML 文本和带引号的属性值来说,这是正确的转义。其他上下文(JavaScript、CSS、URL)需要各自的转义,使用带自动转义的框架是更安全的选择。

探索更多分类