最近流行的歌曲计算机和英语的英语的关系,关于电脑和英语之间关系的科普
贴(原创)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
经常看见有⼈说电脑编程⽤英语,输⼊法都得⽤英语,汉字不适合电脑之类的问题。我就来科普⼀下这⾥⾯的道理,希望⼤家都顶起来。不了解的⼈也多了解⼀下,免得⾃⼰不懂装懂在别⼈⾯前出丑。
1. 电脑不适合中⽂,因为键盘都是英⽂的。
电脑不适合中⽂,也不适合英⽂。电脑只懂0和1。⽆论⽤中⽂输⼊的还是英⽂输⼊的,最终要翻译成1和0电脑才能认识。
疑似魏大勋恋情电脑⾥⾯有⼀个基本存储单位叫做字节,他可以看成是⼀个 0-255进制的数字,8进制就是说⼀个位表⽰0-7之间的数字,10进制就是 0-9之间的数字,16进制就是 0-15之间的数字。再说深了估计⼤家也看不懂,简单⽽⾔就是,电脑⾥⾯存⼀个数据点(字节)可以是0-255之间的数字。英⽂⽤⼀种叫做 ASCII码表来保存。⽤0-255个数字来代表英⽂字母和符号,⽐如⼤写字母“A”的ASCII码是65,⼩写字
母“a”是97,也就是说电脑不会认为 A和a是⼀个字母的两种表⽰,⽽是认为他们是不同的字符。
⾄于汉字的保存⽐较复杂,⼀般采⽤ GB2312和Unicode来保存,GB2312的意思就是国标汉字编码(区位码),Unicode的国际⼤字符集。GB2312采⽤2个字节来表⽰,⽐如“我”字,他的区位码是4650,也就是说电脑只认识4650这个字,他不认识“我”。Unicode是国际通⽤的,不仅保存了汉字,还保存了其他国家语⾔字符,这⾥就不展开了。所以,中⽂英⽂对电脑来说,都⼀样,对电脑来说就是⼀串数字。
为啥键盘只有英⽂没中⽂?smile
2. 编程都⽤英⽂,所以电脑只认英语
金丝熊仓鼠我开始学习编程的时候,最先接触的是汇编语⾔,这种语⾔类似机器语⾔,只是把010101⽤IN POP之类的简单英⽂单词代替了⽽已,是⼀种低级的中间语⾔。
动宾搭配不当所以现在所有的语⾔都要先翻译成汇编,然后再让电脑执⾏。
解释⼀下现在的计算机语⾔的种类。
1. 真编译语⾔- C,C++,Delphi,pascal等,属于真编译语⾔,他们⽤英⽂字母来写程序逻辑,然后由⼀种叫做“编译器”的翻译⼯具,将代码翻译成机器语⾔并存储下来执⾏,之所以叫做“真编译”,是相对“解释性语⾔”来说的,他编译成可以执⾏的程序的时候,就已经是计算机看得懂的代码了。所以叫做真编译。
2. 解释性语⾔- Basic,C#,Java等等,属于解释性语⾔,⽤英⽂字母来写程序逻辑,然后编译成⼀种叫做“PCode”的中间代码,这种代码电脑不认识,这种程序执⾏的时候需要解释器或者虚拟机的机制来把它解释成电脑能懂的代码。
3. 脚本语⾔,和解释性语⾔类似,我就不赘述了。
真编译和解释性语⾔的区别就是,前者在⽣成程序的时候就已经是机器能够懂的代码,⽽后者⽣成的程序机器看不懂,运⾏的时候必须由翻译机翻译执⾏。
他们各有优势,真编译语⾔因为⽆需翻译,所以运⾏速度快,但是他们是依赖特定指令集来⼯作,所以对机器的兼容性有要求。⽽解释性语⾔因为执⾏的时候中间需要⼀个翻译,所以运⾏速度较慢,但是翻译机可以适应各种环境,兼容性好。
为了便于理解,举个例⼦,你会中⽂,当你在中国的时候畅通⽆阻⽽且交流很容易。但是到了国外就
彻底懵了。另外⼀个⼈是棒国⼈,他只会韩⽂,但是,他在世界各地都有翻译,所以他在中国的时候交流⽐你困难,需要翻译中国⼈才能听懂,但是他到其他国家了,都有当地的翻译,所以他能全世界交流。从上⾯可以看出,电脑实际上是不会英⽂和中⽂的,这些⾼级语⾔实际上就是帮助⼈理解的⼀种指令集。
但是为什么⼤家编程都⽤英⽂呢?因为我上⾯列举的开发语⾔都是外国⼈写的,所以他们理所当然的会⽤⾃⼰的语⾔来作为助记符。就像易语⾔⼀样,易语⾔是中国⼈开发的,所以他⽤中⽂作为助记符。但是原理都⼀样,都是要通过⼀个解释机制翻译给电脑。
3. 中⽂输⼊法都是⽤英⽂来输⼊的。
这是个误区,实际上你打开Windows的输⼊法设置,⾥⾯有个输⼊法叫做“区位码输⼊法”。这才是汉字输⼊的根源,直接使⽤GB2312的代码来输⼊中⽂,每个中⽂由2个数字组成(⽐如上⽂提到的“我”,他由 46 和50这两个数字组成)。所以,你只需要使⽤0-9这10个数字键就可以输⼊全部的标准汉字。
那我们为什么没⽤区位码输⼊法呢?因为区位码太难记了,所以中国⼈就发明了,拼⾳、五笔等输⼊法,这些输⼊法的本质就是采⽤⼀种⼈们容易记忆的⽅式来输⼊。这些输⼊法就是⼀个翻译机,把“wo”来代替4650。当然现在的输⼊法还带了⼀些智能筛词功能、词频统计等等就是其他⽅⾯的问题了。总之,⽬前所有的汉字输⼊法,都是⽤⼀种将想要输⼊的汉字转换成区位码(或者Unicode)的翻译
机。
4. 中⽂输⼊编码要统⼀
我真不知道这是哪个sb想出来的问题,中⽂输⼊编码早统⼀了,就是区位码输⼊法。你想学吗?你想背吗?除了区位码输⼊法,其他输⼊法都是衍⽣出来的便于记忆的输⼊⽅法⽽已。
还有什么关于英⽂和中⽂之争的问题都可以提出来,我⼀⼀回答。
发布评论