delta_lt_0

几种可以在 html 中渲染出字符 Á 的 entitiy

TL;DR

先说结论,以下几种 html entites 都可以在 html 中渲染出字符 "Á"

encoding encoded 
html entities(Named) Á
html entities(Hexadecimal) Á
html entities(Decimal) Á
A combining diacritical mark Á

 

Html entities

根据 https://www.w3schools.com/html/html_entities.asp 中提到的 “Character entities are used to display reserved characters in HTML.” ,我们可以知道 html entities 是用于一些保留的字符的显示。实际上并不是只有这些字符才有 html entities,一些我们常用的字符比如 26 个英文字母也有对应的 html entity。

一个字符的 html entities 可以有好几种表现形式,比如文本要说的字符 " Á " 。下面就来列举这几种 html entities : 

#1 html entities (named)

有一部分字符被赋予了 entity name (即实体名称),比如我们常用的  < 、  & 、    这些都被赋予了实体名称。这些字符的 html entities 可以用它们独有的编码方式来渲染: &entity_name; 

#2 html entities (number)

还有一种所有字符都可以使用的编码方式: &#entity_number;  这里的 number 可以是16进制和10进制两种方式。

#3 trick 

还有一种是偶然发现的,用一种比较 trick 的方式也可以实现字符 " Á "  的渲染。 用正常的字符 " A " 再拼上一个 "  ́ " 字符的 html entity 组成一个带声调的 A。 我们可以看一下这个  "  ́ " 字符 : 

 

 

这个字符被称为 combining acute accent,首先 acute accent 的意思就是 “尖音符”, combining 的意思是 “结合”。从下面这张图我们可以看出这个尖音字符主要是用于与其他的字符进行一个 combine 操作:

你可以试着用 html 去渲染  Á́́́́́́ ,看看会是什么样的效果。

类似的结合音调符不止这一个,同时也不仅能与英文字母结合。例如:

 

为什么使用 html entity ? 

在 https://stackoverflow.com/questions/436615/when-should-one-use-html-entities 这个 question 里有比较详细的解释为什么我们要使用 html entities,但是同时也有人建议放弃使用 html entities 而使用对应的 UTF-8 字符。

 

 

 

posted on 2019-04-27 22:28  delta_lt_0  阅读(128)  评论(0)    收藏  举报

导航