HTML数字实体为何有两种写法?
HTML数字字符引用可以使用十进制或十六进制写法。以字母A为例,十进制65和十六进制41表示相同的字符编号,因此两种合法引用可以还原为同一个字母。比较页面内容时,应区分源码写法是否相同,以及解析后的字符是否相同。
2026年11月8日,www.kkce.com 实操。十进制引用与十六进制引用均还原为A;图中文字没有站外链接或外部资源。
两个短输入分别得到相同字母
在KKCE字符实体页面右侧依次输入A与A,每次点击反转义,左侧都显示大写A。主图保留带x的写法,对照图保留十进制写法。输入里的x用于指示后面的数字按十六进制解释,不属于最后呈现的字符。
字符编号不是UTF-8字节列表
这种引用按字符编号表达目标字符,不是把某个UTF-8字节逐项写进HTML。对于当前ASCII样例,相关数值恰好容易对应,换成其他文字时更不能套用简单拆字节的理解。也不要把十六进制41读成十进制四十一,否则会把不同进制下的数值混淆。
本轮官网另一操作状态,供核对设置和样本差异。
源码比较与展示比较应分开
两种文本的字符数和具体字节不同,按原文做摘要、签名或审计时当然可能不一致。浏览器解释成同一字符,也不意味着任意下游组件都会主动进行HTML实体解析。纯文本字段、模板内容和程序字符串应分别遵循自己的输入合同,不要盲目添加一层解码。
按目标位置决定保留哪一层
排查显示问题时,先明确字段要保存引用文本还是实际字母,再检查解析次数。快快测便于观察这两种写法的还原关系;本例只用了合法字母引用,没有测试缺少分号等容错规则,也没有用解码成功来证明内容可以无条件插入任意页面位置。
上一篇:
字符0和空字节是一回事吗?
下一篇:
Markdown表格为何变成普通文字?