计算机,编码,文本阅读器 一

本文介绍了计算机文本存储的基础——字符编码,并对比了ASCII码与GBK码的不同。ASCII码主要用于显示英语等西欧语言,GBK码则扩展了汉字编码,两者各有特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机的发明改变了世界,也改变了图书行业。书籍的买卖被下载取而代之。几百万字的文字被存取到几MB的文本文件中。一个小小的32GB的U盘,可以存放一个小型图书馆的书籍。当人们闲暇之时,掏出手机,打开电脑,便能随时随地阅读书籍,不用再手捧书籍,挑灯夜读。

而计算机实现文本存储的所用之道便是字符编码。用一个数字表示一个文字。

用数字表示文字也产生了很多问题。其一,各国文字不同。其二,数字对应文字,各国都可以做自己的对应。由此产生了许多编码规则。

在这里,我会对ASCII码和GBK码做一个介绍。

ASCII码,美国信息交换标准代码,是基于拉丁字母的一套电脑编码系统。他主要用于显示现代英语和其他西欧语言,他是现在最通用的单字节编码系统。

标准ASCII码也叫基础ASCII码,使用7位二进制来表示所有的大写和小写字母,数字0到9,标点符号,以及在美式英语中使用的特殊控制字符。其中0-31和127是控制字符,其余为显示字符。

控制字符的设计带来了许多便利。‘\t’制表符节约了输入空格和对齐的时间。'\n'换行符为行模式提供了结束标志,将各段分开,减少空格的数量。

但控制字符也有其不变之处(不过极小);

我们可以设想一套这样的ASCII编码,没有控制字符,只有显示字符。各个段落之间用空格填充。这样能巨大的提高文本阅读器的速度。程序只要读出文本长度乘以宽度数量的字符,显示。向上显示一行,向下显示一行,向上显示一页,向下显示一页,都变成加或减去一固定值。程序的复杂度几乎为零。不过在计算机的另一领域,文本处理,这一编码带来的复杂度将以成倍增长。文本不能看成是一行行的,变成了一块。就以linux的脚本来说,要在断开每个命令之间写出大量的代码。

GBK,汉字编码之一,全称《汉字内码扩展规范》。GBK编码,是在GB2312-80标准基础上的内码扩展规范,使用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,共收录了21003个汉字。完全兼容ASCII码,也就是ASCII码用一个字节,汉字用两个字节。这有增加了程序的复杂度。不过,谁让电脑是美国发明的呢,美国一开始设计编码的时候,电脑还是个庞然大物,当让不会想到现在电脑的普及度,所以设计的编码也是本国所用的文字。后来电脑普及全球,美国的文件都是用ASCII码所编,为了兼容所以就要保持所用的ASCII。而他国所设计的编码又要与美国兼容。所有就设计出了多字节编码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值