红框处“严”Unicode是4E25,这个值是怎么知道的?人为查表可以理解,但比如我键盘输入“严”,计算机是怎么知道这个值的?网上查了一些资料,看到有输入码、交换码、机内码这些概念,没太理解这里的转换原理,求解答。
红框处“严”Unicode是4E25,这个值是怎么知道的?人为查表可以理解,但比如我键盘输入“严”,计算机是怎么知道这个值的?网上查了一些资料,看到有输入码、交换码、机内码这些概念,没太理解这里的转换原理,求解答。
码表是人定义的,也就是说,标准中定义了 4e25 这个编码代表 严
字。但定义了还需要实现,在人机交互这个层面,是通过“字体”来实现的。字库为 4e25 这个编码画了一个字形,就是“严”字。所以如果使用一种不含中文字的字体,是不能显示汉字的。或者有些手写体,只实现了 3000 左右的汉字,那不常用字是显示不出来的。当然有时候你会发现系统也能显示,那是因为设置的字体中虽然没有,但是可以降低使用系统的默认字体,这要靠系统和软件的支持。
至于计算机和计算机的交流……就 4e25 啊,没毛病,你可能理解不了,但计算机能理解,它本来就是理解二进制的。
为啥查表只能“人为”呢?计算机也可以查表啊……
你可以理解为 UTF-8 本身就有一个大表维护了字符和编码的映射关系啊……
你要是想问这个“大表”是咋来的,那是有一个标准化组织,叫 The Unicode Consortium (统一码联盟)制订出来的。
P.S. 你说的输入码啥的,那是输入法里的概念,跟 UTF-8 无关(非说无关也不完全对,Unicode 对于输入法来说就是所谓“内码/机内码”)。或者其实你想问的是输入法的工作原理?