HTML 实体是一段以连字号(&)开头、以分号(;)结尾的字符串,用以显示不可见字符及保留字符 (如 HTML 标签)。
在 whatwg 中可查看实体编码数据。
在前端,一般为了避免 XSS 攻击,会将 <>
编码为 <
与 >
,此时仅仅只需要对六个字符进行编码: &
, <
, >
, "
, '
, ```。
HTML 实体编码可使用 Unicode 的 codePoint 或者命名字符引用(Named character references)。
如 <
lt
,则实体编码为 <
'<'.codePointAt()
可知其 unicode 的 codePoint 为 60,则实体编码也可表示为 <
或者十六进制表示为 <
在 Javascript 中,可借助于 he 进行转化
he.encode('<div>hello</div>', { useNamedReferences: true })
he.decode(string)