《从0到1大话操作系统》--(1)万物起源:编码

  古希腊毕达哥拉斯学派的世界观人为世界的本质是数。在计算机的世界中,所有的一切也确实是数。

1、万物皆可编码

  曾经有一位懵懂的少年,他没有勇气向喜欢的姑娘表达爱意,便送给了那位姑娘一本新华字典。少年在字典的首页写了四个数,47808、63205、32011、40204。那位姑娘非常的聪明,一眼就看出了每个数实际上是代表了一个字。每个数的前3位表示字典的页码,后两位表示这个字是这一页的第几个字。那位姑娘当时就明白了少年的心意。

  多年以后,少年成为了一名程序员。少年明白了他当年所做的事,其实就是给汉字编码,用一个数代表一个字。如此看来,根据字典页码,所有的汉字都可以用一个5位数表示。英文字符等等其他所有语言和非语言符号都可以按照一定的规则编码成数字,那么一本书就可以编码成一个很长的数,人类所有的书籍就可以编码成一个更长的数。

  少年虽然没有赢得心爱的姑娘,但是赢得了整个世界。在少年的眼里,世界万物都是数,文字是数,颜色也可以编码成数,声音、图像都是数。

2、ASCII编码

  如果要将文字存入计算机,则必须将文字编码成二进制数。在发明计算机之初,美国人只考虑了将英文字母和一些其他符号存入计算机,这些字母和符号总共加起来不超过256个,所以美国人只用了一个字节,8位二进制数编码英文字母和符号。例如,大写字母A的编码为:

二进制十进制符号
0100 000165A

  这就是ASCII编码(American Standard Code for Information Interchange:美国信息交换标准代码)。实际上,ASCII编码只用了前128个数,共定义了128个字符,其中33个字符无法显示(这是以现今操作系统为依归,但在DOS模式下可显示出一些诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符,控制字符的用途主要是用来操控已经处理过的文字,在33个字符之外的是95个可显示的字符,包含用键盘敲下空白键所产生的空白字符也算1个可显示字符(显示为空白)。

3、互不兼容

  当计算机传入到其他国家时,其他国家需要将本国的文字和符号也存入计算机,比如需要将中国的汉字存入计算机,则必须将汉字编码成二进制数。但是汉字的个数远远不止256个,并且也需要同时存入英文字母,中国人就使用了两个字节,16位二进制数编码英文和汉字等符号,并且从0到126仍然对应ASCII编码。另外的国家也按照中国的方式编码英文和本国的文字。

  看起来一切都很好,每个国家在自己国家内使用计算机。好景不长,计算机普及到全世界以后,各个国家相互之间的交流也变多了。每个国家使用本国编码的文件在其他国家就显示为乱码,比如十进制200对应的二进制在中国显示为一个汉字,在其他国家就显示为其他国家的文字。

4、Unicode编码

  为了统一编码全世界的文字和符号,Unicode(统一码,万国码)编码横空出世,Unicode将全世界的文字和符号从0开始挨个编码,Unicode包含了全世界所有语言的符号。这样,Unicode编码的文件无论在哪个国家显示的都是一样的,实现了编码的通用性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值