汉字的信息熵很大几乎成了汉字不能在信息高速公路上像英语一样驰骋的绊脚石,就好像高速公路总是不关照巨型车一样,巨型车总是被限速,缴纳更高的费用等所牵绊,英语就好像一辆保时捷911,而汉语就好像一辆巨型重卡,更为不幸的是,它们还是跑在中国的高速公路上。其实我们都会注意到,汉字信息熵确实很大,一方面汉字携带的信息量比英语大得多,我们的汉字总是不同的读法不同的语气代表不同的含义,但是这并不是造成汉字在编码中被冷落的原因,它被冷落的原因在于它的字形。
汉字是方块的,遵循从上到下从左到右的顺序,它是一个二维的平面结构,在水平和垂直两个方向延展,不像英语是个水平的线性结构,汉字拥有独特的间架结构,比如左右结构,上中下结构等等,而英语却没有,英语总是在水平方向简单的延伸,这个区别导致汉字更加紧凑,一个方块的空间可以集合很多的语义,不过这也是汉字不能被简单编码的根本原因,我们知道英语中最基本的元素是字母,一共26个字母,编码中可以对这26个字母分别编码,然后编码的组合就代表了字母的组合,除了字母的编码之外英语编码以及在计算机内部实现没有任何额外的问题,它没有位置问题,因为一维结构而且从左向右延展会使得编码默认按照这个约定排列,现在我们来看一下汉字的情况,汉字最基本的元素是笔画,笔画的数量不会多于英语的字母,如果就到此为止,那么我们按照笔画来编码的话,汉字的信息熵不会很高,而且比英语还低,恰恰就是在这里汉字在现代计算机编码系统里出了问题,汉字是二维的,增加了一个纬度,这样就增加了两个自由度,而信息的定义就是消除不确定性,自由度增加等于增加了不确定性,按照热力学解释,自由度增加带来了熵增加,在信息论中,信息获得就是自由度的减少,就是一种负熵,也就是说,信息熵表示主体付出的努力,由此可见除了笔画编码问题,汉字中还有一个英语中没有的问题就是间架结构问题,也就是说谁也不能默认汉字笔画的排列顺序,并且笔画的长短不同就会出现不同的字,笔画的不同书写顺序也会成为不同的字,比如“土”和“士”以及“干”,这些规则谁来定义,汉字基本反映了我们人类特有的思维过程,当代的计算机根本办不到这些,因此笔画编码不单单是将笔画简单编码就拉倒了,还有一系列的组合规则,结构规则以及排列规则,这些规则太复杂了,计算机根本无法完成这些任务的计算,因此汉字只能单个字编码,这里就出现了问题,汉字总量虽然不多,但是完全要参加编码,这就比英语的26个元素多得多了,因此汉字的信息熵非常大。随着新的汉字引入,其信息熵还会更大。
前面说过,汉字是方块的形状,二维的延伸结构使得它更紧凑,相同的空间可以代表更多的含义,举个例子,英语中的两个单词只有两种排列方式,而汉字却有四种方式,回忆前面说的二进制理论就会发现汉字的信息熵确实很大。有个问题现在可以说一下了,汉字组合成的词语一般都很短,而且总是可以用已有的汉字组合来描述新词,而英语就不同了,如果英语也用现有的单词组成新词,那么它的二维结构会使单词越来越长,因此英语往往用发明新词的方式来进行扩展,比如,牛,奶牛,母牛,公牛,野牛,在汉字中都有牛字,分别加上一些个性的东西成为另一个概念,而在英语中这些词却是几乎不相关的单词,这就引出了本文的另一个问题,就是汉字与面向对象。
汉字怎么会和面向对象联系呢?在详述之前我们来做一个类比,汉字相当于面向对象的语言,而英语相当于汇编语言,汇编语言的基本元素就是cpu指令,必须过程化执行,顶多用个jmp或者call,而面向对象语言写的代码中却呈现了继承,包含,等多维结构,看看c++的菱形继承就知道了,即便没有那种不提倡的菱形,在OO设计图上,也会充斥着很多的类图,这些类错综复杂相联系,最终这个类图就是代码本身,而汇编语言设计程序时主要用流程图来进行,纯粹的先来后到的过程化处理。我们看一下上面的“牛”的例子,牛可以作为基类,然后奶牛,母牛作为牛的派生类,拥有了自己的特征,看看是不是都有“牛”这个字,在一篇文章中看到一句话“共性上加个性就是新概念;组合性非常强;”,这句话非常形象,也非常好。汉字基本是人类思维的真实反映,因此你就别指望计算机一台机器可以模拟这种真实反应,想想机器可以直接执行“类的方法”吗?机器执行的过程就好像英语的过程,很精确但是却很呆板,信息熵低的目的在于容易识别,热消耗低而不是别的什么。
分享到:
相关推荐
易语言模块取汉字笔画模块-寒风.rar 易语言模块取汉字笔画模块-寒风.rar 易语言模块取汉字笔画模块-寒风.rar 易语言模块取汉字笔画模块-寒风.rar 易语言模块取汉字笔画模块-寒风.rar 易语言模块取汉字笔画模块-...
汉字笔画编码对照表
易语言取汉字笔画模块 模块名称:取汉字笔画 版本:1.0 取出指定单个汉字的笔画数,目前支持6725个常用汉字。 模块_取汉字笔画 ------------------------------ .版本 2 .子程序 模块_取汉字笔画, 整数型, ...
mysql汉字笔画库,汉字查询笔画数量,包含普通汉字,UNicode、GB编码等,字段包含:汉字、笔画数、笔顺、UNicode、GB等
按照以下格式对所有汉字编码进行说明 ----------------------------------------------------------------------------------------- 汉字 全拼 五笔 郑码 UNICODE GBK 笔画数 部首 笔顺编号 -------------...
python查询笔画数(含汉字编码表)
基础汉字笔画排序-未整理备份,包括旧版代码
行业文档-设计装置-汉字十笔画编码
易语言源码取汉字笔画模块-寒风.7z
取汉字笔画模块-寒风.zip易语言程序源码资源下载取汉字笔画模块-寒风.zip易语言程序源码资源下载 1.适合学生做毕业设计用 2.适合程序员学习研究用 3.适合新手自学研究使用
名单、姓名 按 姓氏笔画 为序排列 汉字笔画排序字典表
完整的汉字笔画数笔顺数据库,包含ID、汉字、笔画数、笔顺、Unicode、GB码信息i。 每个汉字带有笔顺,可以通过笔顺知道汉字的构造和书写顺序; 可以通过给定一个笔顺,快速知道笔画数,比如笔顺为“34”,则笔画数...
本人整理的汉字笔画码表, 存储了每个汉字的第一笔.1为横,2为竖,3为撇,4为捺,5为折 查找汉字第一笔笔画,最快
利用java对基本汉字(unicode编码4E00-9FA5)进行笔画排序 资源更新查看:https://blog.csdn.net/u013271384/article/details/76549368
3755个简体常用汉字的笔画输入完全编码表,网上有但是是2W2K多个的这个是精简版,提供给只开发简体汉字输入法用,用JAVA和Postgres SQL语句筛选出来的.在result.txt
汉字笔画顺序数据库sqlite
行业文档-设计装置-汉字笔画对码编码.zip
汉字 全拼 五笔 郑码 UNICODE GBK 笔画数 部首笔顺编号 一 yi ggll A 4E00 D2BB 1 一 1 丁 ding sgh AI 4E01 B6A1 2 一 12 丂 yu gnv AZVV 4E02 8140 2 一 15 七 qi agn HD 4E03 C6DF 2 一 15 丄 shang hgd IAVV 4E...
行业文档-设计装置-汉字笔画字编码方法
汉字笔画 输入汉字 输出笔画数 VC++ 含全部源码 汉字笔画 输入汉字 输出笔画数 VC++ 含全部源码