如何通过HTML代码编写双引号

47

在HTML中,指定html代码(如 ")的首选方式是什么,主要有哪些区别?例如:

&quot;    <!-- friendly code -->
&#34;     <!-- numerical code -->
&#x22;    <!-- hex code -->

我应该使用哪一个,如果其中一个被弃用会出现问题吗?


"或者"是一个不错的方式,最终浏览器支持很重要。 - Sarang
3个回答

81

实际上没有任何区别。

&quot; 被处理为 &#34;,它是十进制的等价物 &x22;,这是 ISO 8859-1 的等价物 "

你可能反对使用 &quot; 的唯一原因是它在 HTML 3.2 规范中 错误地被省略

否则,这完全取决于个人偏好。


很棒的解释@JamesDonnelly,还有一些很棒的历史参考--谢谢! - H. Ferrence

12

谷歌建议您不使用它们中的任何一个,source.

如果文件、编辑器以及团队之间使用相同的编码(UTF-8),则无需使用实体引用,如&mdash&rdquo&#x263a

你不能简单地使用"吗?


5
其实没有什么原因,Andy。多年来,我已经习惯了在任何时候和任何地方使用HTML代码。主要是因为从数据库、WordPress帖子中呈现内容,以及人们从Word文档复制和粘贴到文本区域中生成垃圾字符的事实。因此,我的习惯始终是利用HTML代码进行内容创作。只是我好奇为什么需要三种不同的方式来编码HTML代码中的双引号,例如。 - H. Ferrence
4
嘿,@Andy——你提供的链接到谷歌的推荐/样式指南非常有用。我刚刚浏览了它,并且它为我设定了很多很好的标准(我喜欢称其为我的个人“最佳实践”)。感谢分享该链接!我仍然需要理解HTML代码方法,但是这个文档让我有很多思考。 - H. Ferrence
3
好吧,这有个很好的理由。我刚刚不得不修复这样一种情况:例如,12英寸的长度保存在数据库中,并且稍后成为JavaScript生成的图像alt属性的一部分。因此,像var myAlt =“some stuf 12”long”; 这样的代码会破坏脚本,但是像var myAlt =“some stuf 12&#34; long”; 这样的代码就可以正常运行。 - vector
2
@vector 然后您应该使用 \" 进行转义。 - Andy
唯一需要使用代码的情况是当您将用户输入的数据转换为HTML并手动进行转义时,这是一个不好的想法。几乎所有框架都有一种方法可以为您转义这些内容。编辑:刚看到下面的答案,这是另一种用例。 - frodo2975
1
使用“和”引用或引述某人;其他情况下请使用“”。 - MC9000

5
在目前流行的浏览器中(不包括可能会在博物馆中找到的 Netscape 1 等),这些字符没有区别。没有理由认为它们中的任何一个会被弃用,特别是因为它们在 XML、HTML 4.01 和 HTML5 CR 中都是有效的。
除非您需要在属性值中使用引号字符并且想要在值内部使用该字符(例如,title="Hello &quot;world&quot;"),否则没有理由使用它们。即使在这种情况下,几乎总有更好的选项(比如 title='Hello "word"' 或者 title="Hello “word”")。
如果您想要使用“智能”的引号,那么这是另外一个问题,这些字符与它们无关。有些人希望像 &quot; 这样的符号可以产生“智能”的引号,但很容易看出它们不能;这些符号明确地表示计算机语言中使用的 Ascii 引号 (")。

我希望你在提到“智能引号”时能够引用一个参考资料。首先,这里有一个网站:http://www.personal.psu.edu/ejp10/blogs/gotunicode/2007/02/smart_quotes_entity_codes_1.html。 - David A. Gray

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接