You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于CJK统一表意文字U+9FD6-U+9FFF编码区间用途的技术咨询

关于CJK统一表意文字U+9FD6-U+9FFF区间字符的说明

你遇到的这个情况其实很常见——这个区间的字符之所以显示为“鿟”,本质是因为它们属于Unicode里未正式分配的保留编码位,没有对应的标准表意字形,所以字体用占位符来替代显示。

下面具体拆解一下:

1. 这个区间的定位

U+9FD6到U+9FFF属于CJK统一表意文字的基本区末尾段(CJK Unified Ideographs基本区范围是U+4E00到U+9FFF)。Unicode联盟把这个区间留作“保留”,目的是为未来可能新增的CJK表意文字预留编码空间,或者用于一些特殊的临时场景(比如内部测试、自定义字符映射,但这些都不属于正式标准)。

2. 为什么显示为“鿟”

“鿟”(U+9FF3)其实是很多CJK字体里的通用替代字形,当系统遇到一个没有对应字形的Unicode编码位时,就会用这个符号来占位,告诉你“这个编码位没有可显示的有效字符”。不同字体可能会用不同的占位符,比如□或者其他符号,但“鿟”是比较常见的一种。

3. 这个区间的实际用途

  • 主要是预留未来扩展:Unicode会根据CJK文字的收录需求,逐步把这些保留位分配给新的表意字符,但目前这个区间大部分还是空白的。
  • 少数编码位可能被临时用于特定场景:比如某些厂商的自定义字符,但这些没有通用性,也不被标准Unicode认可,所以没有通用的字形支持。
  • 不建议用于随机数据生成:因为这些编码位没有实际的表意字符,属于“无效显示字符”,如果要生成有效的CJK随机文本,应该限定在U+4E00到U+9FD5这个已正式分配的基本区范围内,或者使用Unicode标准明确标注的已分配CJK扩展区间。

内容的提问来源于stack exchange,提问作者Dmitry Senkovich

火山引擎 最新活动