HTML 的实体编码(HTML Entity Encode)

html-css012

HTML 的实体编码(HTML Entity Encode),第1张

以上列出的一些实体比较容易记忆,但有一些不容易记住的您可以查看 whatwg 或使用 解码工具 。

HTML 实体是一段以连字符号( &)开头、以分号( )结尾的字符串。用以显示不可见字符及保留字符(如 HTML 标签)

在前端,一般为了避免 XSS 攻击,会将 <> 编码为 < 与 >,这些就是 HTML 实体编码。

在 HTML 转义时,仅仅只需要对六个字符进行编码: &、 <、 >、 " 、 ' 和 `。我们可以使用 he 库进行编码及转义。

  在中文书写时我们通常习惯段首缩进两个字,但是使用markdown编辑时我们手打空格缩进是不起效果的,因此我们需要通过使用HTML中的空格实体来帮助我们实现缩进效果。

  一个汉字占两个空格大小,所以使用四个空格就可以达到首行缩进两个汉字的效果。有如下几种方法:

以上空格实体的详细介绍如下:

  HTML提供了5种空格实体(space entity),它们拥有不同的宽度,非断行空格( &nbsp)是常规空格的宽度,可运行于所有主流浏览器。其他几种空格( &ensp&emsp&thinsp&zwnj&zwj)在不同浏览器中宽度各异。

  它叫不换行空格,全称是 No-Break Space ,它是最常见和我们使用最多的空格,大多数的人可能只接触了 &nbsp,它是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个)。要使用html实体表示才可累加,该空格占据宽度受字体影响明显而强烈。

  它叫“半角空格”,全称是 En Space ,en是字体排印学的计量单位,为em宽度的一半。根据定义,它等同于字体度的一半(如16px字体中就是8px)。名义上是小写字母n的宽度。此空格传承空格家族一贯的特性:透明的,此空格有个相当稳健的特性,就是其占据的宽度正好是1/2个中文宽度,而且基本上不受字体影响。

  它叫“全角空格”,全称是 Em Space ,em是字体排印学的计量单位,相当于当前指定的点数。例如,1 em在16px的字体中就是16px。此空格也传承空格家族一贯的特性:透明的,此空格也有个相当稳健的特性,就是其占据的宽度正好是1个中文宽度,而且基本上不受字体影响。

  它叫“窄空格”,全称是 Thin Space 。我们不妨称之为“瘦弱空格”,就是该空格长得比较瘦弱,身体单薄,占据的宽度比较小。它是em之六分之一宽。

  它叫零宽不连字,全称是 Zero Width Non Joiner ,简称“ZWNJ”,是一个不打印字符,放在电子文本的两个字符之间,抑制本来会发生的连字,而是以这两个字符原本的字形来绘制。Unicode中的零宽不连字字符映射为“”(zero width non-joiner,U+200C),HTML字符值引用为: “‌”

  它叫零宽连字,全称是 Zero Width Joiner ,简称“ZWJ”,是一个不打印字符,放在某些需要复杂排版语言(如阿拉伯语、印地语)的两个字符之间,使得这两个本不会发生连字的字符产生了连字效果。零宽连字符的Unicode码位是U+200D (HTML: ‍ ‍)。

此外,浏览器还会把以下字符当作空白进行解析:空格( )、制表位( )、换行( )和回车( )还有( )等等。

HTML中的实体空格参考自: http://www.itroad.org/2017/webui_0308/504.html

有些字符在HTML里有特别的含义,比如小于号<就表示HTML Tag的开始,这个小于号是不显示在我们最终看到的网页里的。那如果我们希望在网页中显示一个小于号,该怎么办呢?

HTML字符实体(Character Entities)

这就要说到HTML字符实体(HTML Character Entities)了。

一个字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。

比如,要显示小于号,就可以写<或者<。

用实体(Entity)名字的.好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。

注意:Entity是区分大小写的。

如何显示空格

通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用 表示空格。

最常用的字符实体(Character Entities)

显示结果说明Entity NameEntity Number

显示一个空格

<小于<<

>大于>>

&&符号&&

"双引号""

其他常用的字符实体(Character Entities)

显示结果说明Entity NameEntity Number

?版权??

?注册商标??

×乘号××

&pide除号&pide&pide