我知道百分比符号在传递时必须进行 URL 编码,但是当我在浏览器中显示它时,是否也有必要像这样转义它:%
?
4 回答
在 URL 中,百分号 ( %
) 具有特殊含义,因此应进行转义。在 HTML 中,它没有,因此没有必要对其进行转义。
我同意所选的答案,但想限定“没有必要逃避它”的陈述。
如果您需要(或希望)在 HTML 代码中转义百分比符号,(并且有充分的理由使用任何可能不明确的字符或符号执行此操作),那么我强烈建议使用百分比实体代码%
而不是任何数字代码。(当没有可以使用的实体名称时我使用的那些)
这就是我在找到此页面时正在寻找的答案,因为我忘记了它丢失了最后的“e”。
我们可能都应该至少使用这里列出的实体。(无论谁是网站管理员;谢谢)
推理:在使用不同默认语言的系统和/或不同操作系统上,数字代码(尤其是来自未编码字符的字节代码)随代码页而变化。(Windows 和 Mac 使用稍微不同的代码集“英语”是经典,这仍然困扰着 Apple Mail 和 Outlook 之间发送的纯文本电子邮件)这正在减慢,应该停止使用 UTF,但我仍然看到它流行向上。
如果您要将 HTML 转换为其他标记(请注意,我使用“ –
”而不是“ -
”,甚至−
出于相同的原因使用“”),例如 LaTeX、DVI、PostScript 甚至 MarkDown,那么完全消除任何歧义......并且这些过程往往发生在您最初编写时最不希望以这种方式使用的信息上。因此,只要习惯于在任何地方都这样做,并感谢以前的自己有远见,就这样做了。可能几年后,当您希望通过使用 MathJax 等来更新公式以使其更具可读性时,并继续使用连字符的单词。<发誓>
我想补充一点——如果你在 href 中使用 javascript,你也会遇到麻烦。检查这个例子:
其中一种解决方法可能是使用onclick
而不是href
.
如果您在谈论读者可以看到的 HTML 文本,则不会。它不能做任何有害的事情,那里。
...如果您在谈论 HTML 属性的内部,那么是的,这将是很好的考虑。
URL 和 HTML 是不同的语言,看起来很奇怪,所以它们有不同的弱点。