生僻字"一字多码"情况说明
1."一字多码"产生原因
“一字多码"的出现主要是因为Unicode的编码空间内存在用户自定义区(PUA),允许自定义编码来处理一些生僻字,这些生僻字后期又被Unicode正式收录,造成一个汉字既有PUA编码又有Unicode正式码的“一字多码”问题。例如“䶮”字,其在Unicode自定义区编码为"E863”,而其正式编码为"4DAE"。
"一字多码"现象虽然汉字对应的Unicode编码不一样,但是汉字的字形一致,表示为同一个汉字。
2.PUA区汉字编码范围
U+E000 至 U+F8FF
可以通过判断汉字所属的编码范围,确认该汉字是否属于PUA编码。进而通过PUA码得到该汉字的正式码。
3.如何知道字的编码
使用软件:MadEdit
选择编码方式为:Unicode 16大端方式,输入汉字后,通过快捷键alt+F3
查看编辑框中汉字Unicode编码的十六进制表示,按alt+F1
返回编辑框。
4.常见"一字两码"
汉字 | 编码 | 是否正式码 |
---|---|---|
䶮 | 4DAE | 是 |
| E863 | 否 |
㑇 | 3447 | 是 |
| E81B | 否 |
防止生僻字不显示,截图查看
5.关于姓名中出现"一字多码"情况时如何比较
若待比较的姓名为:张䶮(4DAE)㑇(3447)
,目标姓名为:张(E863)(E81B)
则需要将待比较的姓名中"一字多码"情况进行组合,其中姓名包含3个字,第二个字和第三个字存在"一字两码"现象,故共有1*2*2=4种组合。
既:
- 1.张䶮(4DAE)㑇(3447)
- 2.张䶮(4DAE)(E81B)
- 3.张(E863)㑇(3447)
- 4.张(E863)(E81B)
若四种组合中存在任意一种组合与目标姓名一致(4.张(E863)(E81B)与目标姓名一致),则表明待比较姓名与目标姓名一致。
防止生僻字不显示,截图查看
6."一字三码"现象
存在两个字有"一字三码"现象,既:在PUA区中有两个该字的编码,正式码有一个该字的编码。故这三个码值都表示同一个汉字。