操作系统和输入法
操作系统有一个输入法管理器,叫做IMM,管理系统内的所有输入法,或者说一个输入法想要使用操作系统提供的输入法API,就必须在IMM进行注册。
应用程序和输入法
应用程序一般都会使用输入法,也就是调用输入法的api进行文字输入。比如你想要使用文本编辑器txt保存“我爱你”三个字,那么打开txt的时候,txt会通过操作系统来调用某个输入法,具体调用哪个输入法取决于当前系统和用户设置。
字符集和编码
字符集和编码很容易混淆。其实是有区别的。
字符集的概念:顾名思义,就是字符的集合,并且每个字符都存在一个编号,编号也称为码点,字符集有时称为码表。比如ASCII字符集包含了128个字符。字符”空格“在ASCII中为第一个字符,因此它的ASCII编号为0,字符”1“为第49个字符,因此”1“的编号为49。同理Unicode也是一个字符集,包含了世界上所有的字符,并且每一个字符都有对应的编号。中文 ‘中’字,在Unicode字符集中为第20013(十进制)个字符,因此编号为20013(十进制),十六进制为4E2D
编码:只有当涉及到存储或者传输的概念时,才涉及到编码,计算机内存中处理数据一般使用编号。什么是编码呢,举个例子,想要在计算机上保存字符”1“,就必须存储它的编号49,49的二进制为110001,一共是6位二进制数,但是计算机按只能按字节来存,那么保存49就得使用八个二进制位,显而易见的方式是在前面补充0,既00110001,这个00110001也