马黑黑 发表于 2021-7-30 13:12

为什么有些汉字在电脑中显示不正常

有些汉字,在电脑中显示一个 囗 ,有的框内打叉,有的是一个实框。为啥?

这个说来话长,我们只能长话短说。

首先是历史原因。上世纪90年代之前,国际上相关组织想通过统一编码在计算机里显示全球所有文字。当时我们的响应不是非常积极,所以预留给我们的编码地址范围有限,可能只能满足时下的GB编码汉字和部分GBK编码的汉字,前者共有 6763 个汉字,后者包含前者,共有汉字(包括部首和构件)21003个、图形符号883个。现实中的汉字单字数量远远不止这些,当出现超出编码范围的汉字,计算键就无法正常显示。

随后,为了彻底解决显示全球文字问题,相关组织又推出了新的编码标准,用可变字节来记录文字在计算机中的二进制内码。当下,Unicode编码(即万国码)能显示更多的汉字,包括像朝鲜语、日语、越南语等语言正在和曾经使用的汉字,都收录其中,现已收录9万多个汉字,还在持续增加中。

绝大多数输入法仅针对GB和GBK编码,但用户词汇可能会收有Unicode编码的汉字,这类输入法极可能显示不出或上屏不了部分Unicode编码的汉字。

其次是字库问题。默认情况下,win7只支持GBK,win8支持万国码5.0,win10可能仅支持万国码6.0(现在出到8.0),所以,不可能希望win10能显示所有的Unicode汉字,需要额外安装字库,换句话说,windows自带的字库不能显示所有的9万多个的汉字。

另外,即使输入法能正常输出汉字,但可能输出目标限定了更低级的编码,如此显示出来的超出编码范围的汉字也只能是乱码。

红影 发表于 2021-7-30 15:15

我一直以为无法显示的汉字是因为字库里没有,原来还和编码相关{:4_204:}

红影 发表于 2021-7-30 15:15

黑黑对这些缘由研究得很深{:4_204:}
页: [1]
查看完整版本: 为什么有些汉字在电脑中显示不正常