韩小明@xiammy的专栏

没水的地方挖井,有水的地方修渠

用户操作
[即时聊天] [发私信] [加为好友]
韩小明ID:xiammy
449005次访问,排名105好友15人,关注者82
毕业后一直在广联达工作
xiammy的文章
原创 178 篇
翻译 0 篇
转载 22 篇
评论 1134 篇
韩小明的公告
作者毕业于浙江大学,非常热爱体育运动。现在尤其热爱羽毛球运动。在休息时间非常热爱技术文章写作。
最近垃圾评论泛滥,为了不污染大家的视听,暂时关闭评论,请大家理解。
欢迎转载,但请注意,除非特别声明,本站采用Creative Commons License许可:署名,非商业。

最近评论
Norse:从纯逻辑的角度而言,只要加上一个条件就可以严谨地解决问题:此题是可解的。
这样的话顶多从半真是真还是假来加一层推理,易知半真是真的情况下是无解的,所以半真只能是假,最后就可以按标准答案推出结果了。
Norse:太钻牛角尖了,既然题目这么出,那就是隐含字条真假对应对金块判断的正误,而不是独立的
thesameway:51旧书网 同城易书
www.51jiushu.com
www.51jiushu.net
二手书、旧书同城交易平台
分类齐全、快速发布、准确搜索
xiammy:你说的就是推广策略,是不是采用矫枉过正?
sharkw:可以试一试SqliteSpy,支持sqlite数据库的加解密
文章分类
收藏
    相册
    图书
    链接
    宗刚的专栏(RSS)
    快乐学习(RSS)
    陈亮亮的专栏(RSS)
    朋友
    张恂论 OO
    橘子懒懒的BLOG(RSS)
    言之有李(RSS)
    赵伟的小家
    存档
    订阅我的博客
    XML聚合  FeedSky

    转载 原来汉语的思路更接近计算机语言收藏

    新一篇: 借火车看设计过程 | 旧一篇: HOOK启思录---第三章 HOOK的应用模式

      
    汉语不需要变单数,复数和时态,我要表示复数,只需要加功能词就可以了,不会影响单词本身,比如一只鸟,一些鸟,但是在英语中就要影响所有的几万个单词,相应的“是”在英语中也要变成is are were be等等,但是我们在很多情况下不需要关心时态和数量,这与使用面象对象是一个道理。
    汉语可以表达“树上有鸟”的相对抽象概念,而用英语表达类似“树上有鸟”时,每次都要指定具体数量和时态以及单词的变化,只能表达“一棵树上有只鸟”“一棵树上有一些鸟”“一棵树上曾经有一些鸟”“一些树上有些鸟”“一些树上曾经有一些鸟”等等,就是无法表达“树上有鸟”。汉语中这个函数“()树上有()鸟”是不变的,变的只是不同的参数,而英语却要连单词和整句一起变,相当于是重写一段,无法直接调用函数。
    汉语基本字库GB2312,只需要掌握2312个常用汉字,就可以了,而在新的词汇,比如类似计算机,互联网,飞机,电视这样的新词汇根本就不需要学习就会,但是在英语就是两个新的单词,要重新读会和背会拼写方法,所以即使背了2万个英语单词远远不够,我们还是觉得很困难。汉字是主表意的,并且具有组合和继承性、派生性,所以我们只需要掌握2千个字汉而不是要学5万个完全不一样的新单词。所以我们称汉字是智能语言,属高级语言,而英语就是密码语言,类似于二进制的机器语言。
    汉语不因数或时态等等而作词尾变化,用C++(一种计算机语言)的概念来讲,实 际上就是一种重载(Overload)。重载是C++的两大主要特点之一(另一个特 点是类(Class))。所谓重载就是一个函数或算符具有一个以上的不同含义,而计 算机根据执行函数或算符时的环境来确定其含义。这里的“环境”,在C++中,包括变 量的类型,个数,顺序等等。在本文先前提到的“树上有鸟”的例子中,这个“有”字, 当指一只鸟时,就相当于“is”;当指许多鸟时,就相当于“are”。若再包括时态 ,那么,“有”字实际上重载了4种含义,即“is”,“are”,“was”和“w ere”。这样的重载的好处和C++中的重载的好处是一样的,都使语言的适应性更强 ,效率更高。没有重载的计算机语言在调用函数前,必须将变量的类型,个数一一查明以 便调用所对应的函数。与此类似,未重载的英语必须先把鸟数清楚后才能造出逻辑和语法 都正确的句子来。而重载的汉语不必预先数鸟就能造出正确的句子来。这正是汉语语法优 越的地方。C++中的重载是狭义的,而人们的语言包含更广义的重载,因为上面所述的 “环境”在人类语言中远较C++中的多样化。可以这样认为:同样一句话在不同的时间 、场合、地点等等可能具有不同的含义,实际上就是广义的重载。正是因为有了重载,人 们的语言才显得生动、活泼、富有内涵。顺便提一下,C++的另一特点――类,其实也 正是汉语的特点。以英语看汉语的“是”确实属于重载(Overload)的。 汉语还有个好处就是面向对象。 金-所有金属的虚的祖先类 铁,铜,银等等都是由金派生的。所以看到金字旁就知道是金属 石-所有非金属的虚的祖先类 碳,碘,硒看到石字旁就知道是非金属 气-气体的虚的祖先类 等等 所以用汉语学习自然科学(包括物理、化学等等)最方便了。否则给你一个S(硫)。谁知道是什么东西呢。 还有中国的一些哲学思想也和计算机有关 道家认为世界都是由阴阳两种东西构成的。按不同组合可以构成万物。这不就是现在的二进制么,计算机里面的世界在复杂也是由二进制数构成的 道家还说道生一,一生二,二生三,三生万物。比较符合现代计算机语言的单根继承。一二三都是虚的祖先类。比较新的语言例如 Delphi、Java、.Net都是单根继承的。
    本人曾问系里的几个教授“长方体”如何用英文讲,可这几位母语是英文的工科教授竟说不知道,接下来连问几个本地的研究生,结果他们也不知道。着实令我大吃一惊!现在我要问读者:您知道么?反正不是Cube,Rectangular...。后来,我倒是真的在字典里找到了该词,可现在又忘了,原因是它太生辟。感叹,英文真是笨人的语言,试图给天下每一事物起一个名字。宇宙无穷,英文词汇无!!!   词汇如“光幻觉”、“四环素”、变阻器”、“碳酸钙”、“高血压”、“肾结石”、“七边形”、“五面体”都只有专业人士才会。根本不可能象汉语那样触类旁通,不信?去亲自问问母语是英文的人好了。英文是发散的。搞的一些基本概念如“长方体”也只有专家才 会讲!怪不得英文世界里专家那么多,而且都那么自信;是啊,一般人连他们的基本术语如“酒精绵球”“血压计”都不会讲。生活在英文世界真是对无知无奈!可悲可怜!
    英文是一维的,是密码语言。写英文是编码,读英文是解码。细想想:如把英文的a、b 、c、d、e换成1、2、3、4、5,并没有什么原则上的区别。按上边的对应,如一开始就把cab写成312,用一样的读音,又有什么不可以?汉语就不同了,是二维的(纸面上的最大维数) ,最大限度地利用了纸面的几何空间。每个汉字就是一幅画。试问从一幅画上得到的信息快,还是从一行密码中得到的信息快?
    国家汉字的扫盲标准是1500个字,理工科的大学生一般掌握2000个汉字。就凭这2000个字,大家可以读书、看报、搞科研。可在英文世界里,没有20000个字别想读报,没有30000 个字别想把周刊读顺,大学毕业10年后的职业人士一般都懂80000字。新事物的涌现,总伴随者英文新词,例如火箭(ROCKET),计算机(COMPUTER)等,可汉语则无须,不就是用“火”驱动的“箭”么,会“计算”的“机”么!可英文就不能这么干,不能靠组词,原因是“太长”了。如火箭将成为“FIRE-DRIVEN-ARROW”,计算机将成为“COMPUTAIONAL-MACHINE”等。人的视角有限,太长的字会降低文章的可读性与读者的理解能力。     
    目前,英文词汇已突破40万,预计下世纪中叶,将突破100万大关。而汉语则相对稳定,现在中学生还可以琅琅上口地读屈原的楚词。英文就难了,太不稳定。现在的人们读沙士比亚的原著已困难重重,更不用说读400年前英国诗人乔叟的诗了。学GRE的时候,注意到很多韦氏字典收录的词汇竟是本世纪件初的新词,如“Gargantuan”取自拉伯雷的小说。这也不奇怪,毕竟英文400年前才统一了拼写。

    发表于 @ 2006年11月29日 11:24:00|评论(loading...)|编辑

    新一篇: 借火车看设计过程 | 旧一篇: HOOK启思录---第三章 HOOK的应用模式

    评论

    #韩小明 发表于2006-11-29 13:24:00  IP: 218.249.220.*
    大家一起补补知识:)
    关于 gb2312, 也叫gb2312-1980, 是全球广泛使用的一个字符集,由于历史比较早,所有受众面也最大.
    GB2312或GB2312-80是一个简体中文字符集的中国国家标准,全称为《信息交换用汉字编码字符集--基本集》,由中国国家标准总局发布, 1981年5月1日实施。GB2312编码通行于大陆;新加坡等地也采用此编码。几乎所有的中文系统和国际化的软件都支持GB2312。
    GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄罗斯语西里尔字母在内的682个全形字符。
    GB2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖99.75%的使用频率。
    对于人名、古汉语等方面出现的罕用字,GB2312不能处理,这导致了后来GBK及GB18030汉字字符集的出现。
    接下来就是比较新的gb18030
    * GB18030 也是对 GB2312 的扩展,其编码长度由 2 个字节变为 1~4 个字节
    o 单字节,其值从 0 到 0x7F。
    o 双字节,第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x40 到 0xFE(不包括 0x7F )。
    o 四字节,第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x30 到 0x39,第三个字节的值从 0x81 到 0xFE ,第四个字节的值从 0x30 到 0x39 。
    是以保持 GB2312/GBK 反向兼容的條件下,加入 4-byte 部份,讓 GB18030 可以
    完全地 一對一 映射到 Unicode U+0000..U+10FFFF,是一個「一勞永逸」的方案。
    #不错 发表于2006-11-29 12:36:00  IP: 59.108.101.*
    说的有理
    #liangbch 发表于2006-11-29 12:42:00  IP: 59.108.24.*
    老兄,写文章也得有常识呀,“理工科的大学生一般掌握2000个汉字”,2000个汉字是小学毕业的标准。一级常 用字为3755, 大学生应该牚据3000多个汉字不为过吧。
    "GB2312 中的2312表示2312个汉字",我还是头一次听过,众所周知,GB2312 标冷中定义了3755个一级汉字,3008个二级汉字,共6763个汉字。
    #Antihero 发表于2006-12-07 15:28:47  IP: 192.160.11.*
    最近在看一本叫《密码故事》的书,里面讲的是一些加密的原理,发现很多对汉语不太适用,因为英语只有26个字母,可汉语无论是拼音还是字形都太多了,所以,我很想知道关于汉语加密后的密文是如何解码的?是不是比英语要难以写呢?在此,也可以旁证作者的观点。
    #yi_jun_jun 发表于2006-12-13 17:53:22  IP: 219.153.248.*
    To Antihero: 这位朋友,可能陷入一个死胡同。加密本来的目的:是要让人不能得到真实的意义,让别人看不懂只是一种手段而已。 其实中文加密更难破译,因为与计算能力无关,大部分中文加密都是依赖环境,历史等等或明或暗的协议。例如:我说一句“坐怀不乱”,这个如果做为加密的话,它的实际意义与听者的环境,学问有关,与计算能力无关。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 韩小明