#符号的HTML字符实体是什么?

78

#号在HTML中的字符实体是什么?我搜索过“pound”(只返回货币符号)、“hash”和“number”,但我的尝试似乎都不能得到正确的字符。


12
你应该搜索"八角井号"。 - A. Levy
7
只是出于好奇,你为什么需要它?在HTML中,“#”不是保留字符。如果你需要在URL中转义它(以避免开始一个片段),那么使用HTML转义并不能帮助你太多。 - Shog9
你尝试过不使用字符实体吗?如果您查看此页面的源代码,将不会使用任何实体来制作#字符。 - badp
我相信Stack Overflow使用UTF-8。而我所继承的代码不是,这就是为什么。 - chimerical
6
@Shog9,Markdown将#解释为“标题”,因此我们需要使用#。请参见https://dev59.com/gWsy5IYBdhLWcg3wxAyO的源代码。 - Pacerier
9个回答

74
您可以在fileformat.info上按单个字符搜索。 将#作为搜索字符串输入,第一个结果将引导您到U+0023。 向下滚动到第二个表格编码,您会看到以下内容:
HTML实体(十进制)#
HTML实体(十六进制)#

谢谢你的回答。你能详细说明一下吗:使用 ## 有什么区别? - BenKoshy
@BKSpurgeon:一个是用十进制表示法写的,另一个是用十六进制表示法写的。 - BalusC
在URL https://en.wikipedia.org/wiki/Star_formation#Protostar中,#的意思是什么? - user610620
@user610620:https://zh.wikipedia.org/wiki/URI%E6%96%87%E4%BB%B6#fragment - BalusC
感谢@BalusC。现在,降低页面的URI片段和让人们在表格中切换不同列的URI片段是如何同时使用的?这两种用法都依赖于HTML或Javacript代码吗?它们的代码有什么区别? - user610620
显示剩余3条评论

25

对于#,我们有#

请记住,它是一个新实体(例如IE9无法识别它)。为了获得广泛支持,你将不得不采用数字引用 # ,以及十六进制的 &#x23,正如其他人所说。

如果你需要查找其他内容,有一些非常有用的工具可以使用,可以在这里找到。


17

"#"这个字符--像大多数Unicode字符一样--在W3的"字符实体引用"列表中没有被赋予特定的名称 http://www.w3.org/TR/html4/sgml/entities.html 。因此,在HTML中,它可以表示为"#"本身,也可以用数字字符实体"#"或"#"(不带引号)表示,如"HTML文档表示"所述 http://www.w3.org/TR/html4/charset.html

然而,这三个字符在URL中都无法使用。 要在URL中将"#"字符传输到Web服务器,您需要使用RFC 3986中描述的"URL编码",并将每个"#"替换为"%23"(不带引号)。


2
百分号编码在查询字符串中包含井号时尤为重要,例如:http://example.com?search=term#37,其中term#37是您的查询字符串。 - adam rowe

9

在HTML中,#字符没有特殊含义,因此没有对应的HTML字符实体。

如果你需要对其进行HTML编码,你可以使用字符代码实体,比如#


8

4
数字参考是#

4
您可以通过以下方式之一来显示"#"
# or # or #

另外,您可以展示"♯"这个符号,与"#"在某些方面有所不同,如下所示:

♯ or ♯ or ♯

2
我们有一些奇怪的答案,实际上我们可能需要仔细区分才能确定它是否符合HTML实体的要求,但我认为你在寻找的是命名锚点

这允许通过超链接引用HTML文档中的不同部分,并特别使用八角形符号(散注符号,井号符号,磅符号)。

exampleDomain.com/exampleSilo/examplePage.html#2ndBase

这是它的一个示例用法。


1
哦,没事。回答了一个不同的问题。 - systemaddict
1
有趣的是,你回答了我想知道的问题,所以+1。 - skinnedpanda

-1

# 是最佳选择,因为它是唯一一个不包含 #(井号)的选项。无论旧浏览器是否支持,这都是未来的最佳实践。

(使用相同符号进行编码有什么意义呢?)


1
可能存在各种原因。我经历过的一个原因是,当井号作为行首字符时,避免Markdown触发数字列表。 - holroy

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