生僻字"一字多码"情况说明

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区中有两个该字的编码,正式码有一个该字的编码。故这三个码值都表示同一个汉字。