计算机字符编码01--关于文字的基本概念

来源:互联网 发布:wifi网络测试工具 编辑:程序博客网 时间:2024/06/05 14:57

计算机字符编码

什么是编码,为什么需要编码

编码是为了表示信息,便于编码后的信息跨越时空的传递。举个例子,人类第一次编码实践是通过声音彼此交流,声音发出者把自己的所感,所想,所见通过声音编码传递给其他人。但声音编码方式显然不太好,太远了声音就听不见了。于是人类发明了第二种编码方式——文字,文字成功解决了声音作为信息编码方式时的时空局限性。

划重点:编码是为了信息的传递(突破信息传播的空间局限性)和存储(图破信息传播的时间局限性)。

人类语言学的概念

个人觉得,人类文字解决了,但不只解决了一下两个问题:(当然还解决了很多其他问题,比如语法,标点等等。)

  1. 怎么写:英语规定了26个基本英文字母的大小写写法,不同单词由字母构成。汉语有些复杂,每一个单词都是一个完整象形文字,各象形文字写法不同。
  2. 如何读:英语中有元音和辅音,汉语中有声母和韵母,等等。

下面介绍一下人类语言中的一些基本概念,为后续深入研究计算机字符编码做一些准备

音素:(phoneme)

语言“读”范畴下的概念,是语音的最小单位,主要用于区分不同单词的读音。举个例子,kiss /kIs/和kill /kIl/用于在读音上区分这两个单词的s和l就叫做音素。

音节:(syllable)

语音中最自然的结构单位。确切地说,音节是音素组合构成的语音结构单位,每一个音节由头腹尾三部分构成,因此音节之间有很明显的界限。一般来说汉语每一个汉字只有一个音节(以声母开始以韵母结束),英语一个单词一般会有一个或多个音节,每一个音节一般以元音开始,以辅音结尾

字母表:(alphabet)

是字母的集合,字母确定了字母的写法,和字母能代表的音素。就英语来说,每一个英文字母可以代表一组音素,单词就是根据读音,把英文字母根据其音素排列起来形成的,可见英文是一种先有读音后有单词拼写方法的语言。

记录系统:(writting systen)

一个记录系统提供一种简单有效传递信息的方法,语音也可以传递信息,但是相对于语音系统,记录系统的优势在于可以用来存储信息,(其实就是突破了声音在信息传递的时间局限性)。一般来说记录系统利用字符编码信息,这就要求记录系统的记录者和阅读者都能够理解用来编码信息的字符集。根据字符集编码信息的规则大致可分为以下几类:alphabets(字母表编码), syllabaries(音节编码), or logographies(象形文字编码)。任何一个当下流行的记录系统,都兼有这几种编码规则。

字母表编码(alphabets)

就是根据单词读音,以及字母表中字母可以代表的音素把字母排列起来构成单词。

音节编码(syllabaries)

每一个字符代表一个音节,根据读音把字符排列起来构成单词

象形文字编码(logographies)

不同于字母表和音节编码,象形文字的每一个字符表示一个完整的意思,可以这么理解,音节编码和字母表编码是通过"表音"形成文字,但是象形文字是通过“表意”行成文字,象形文字包括了中文,以及日语韩语等。

grapheme 字素

表示一个记录系统中用来书写的最小单位,比如英文中每一个英文字母就是英文的一个字素,汉语中每一个汉字就是汉语的字素,字素不但担包含一种语言的基本字母,还包含了这种语言的标点符号,数字等。

Character 字符

在计算机和通信领域,用字符表示一种语言的字素,例如在字母编码时,Character就是字母,但是在音节编码时,Character就是表示一个音节的基本字母,中文环境下一个汉字就是一个Character。总体来说Character可以表示英文中的一个字母,汉语的一个汉字,标点符号,空格,以及一些控制字符,例如回车,换行。控制打印机的一些打印命令,控制信息传递过程中结束开始的一些bit位等。多个Character放到一起就形成了string.

Character repertoire 字符集

这个概念不能脱离计算机中的字符编码系统而存在,是一个字符编码系统中特有的概念,比如,针对ascii编码那么他对应的Character repertoire就是128个ascii码对应的字符。但是对于Unicode编码来说Character repertoire就表示很多语言放在一起的形成的超级字符集,因为Unicode 企图表示人类有史以来所有的文字(包括现在世界上在用的文字,还有一些不用的古文字)。

计算机字符编码

计算机字符编码是为了利用计算机传递,存储字符信息而对字符进行的编码。