大图
您现在的位置是 :主页 > 陇川最新新闻 >

一个字节为什么是8位,而不是6位,7位或10位呢?

发布日期:2020-06-25 10:28   来源:未知   阅读:

一个字节为8位,这是有点编程基本的人都晓得的常识,然而为什么必定要是8位呢?当初为什么要这么设计呢?带着这个疑难,我查阅了良多材料,总结如下:

首先,我们要溯源一下,位是怎么来的。这要追溯到最早的输入输出设备--穿孔纸带。

穿孔纸带是早期计算机的输入和输出装备,它将程序和数据转换二进制代码:打了孔的代表1,未打孔的代表0,经由光电扫描输入电脑。

穿孔纸带是应用打孔技巧在纸带上打上一系列有法则的孔点,以适应机器的读取和操作,加快工作速度,晋升工作效力。是早期向计算机中输入信息的载体。

穿孔纸带也叫指令带,是早期盘算机的输入体系。也用于数控装置作为掌握介质。穿孔纸带上必需用规定的代码,以规定的格局排列,并代表划定的信息。数控安装读入这些信息后,对它进行处置,用来指挥数控机床实现一定的机械活动。

到这时就出现了字节的概念。在英语中,用128个符号编码便可以表示所有,即7位就能编码美国人会用到的字符。

0~31及127(共33个)是把持字符或通信专用字符(其余为可显示字符),如节制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 跟13 分辨转换为退格、制表、换行和回车字符。它们并不特定的图形显示,但会依不同的利用程序,而对文本显示有不同的影响 [1] 。

32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。

65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

那为什么字节要用8位表示呢?因为除了英文字母,世界上还有许多的语言字符,光汉字就有10万多个。聪慧的美国人就在前面加了一个bit作为裁减位。当这一最高符号位为1时,表示扩大字符集,此时系统会将该字节和其下一字节合并说明,并依据当前应用的字符集显示准确的文字。

而当最高位为0时,就是我们常常说的ASCII编码,ASCII 编码是最简单的西文编码计划。GB2312、GBK、GB18030 是汉字字符编码方案的国家标准,这些尺度下,一个汉字要占用两个字节。

到这里我们能够确定的是起码要用8位来表现一个字节了。那有些人可能会问了,设置这么多编码集多麻烦,直接16位表示一个字节不就简略多了。这是由于计算机发展初期内存非常可贵,能少用就少用,假如用16bit定义字节的话,一个英语字符就要占用两倍内存,这会造成宏大的挥霍。而后来呈现的UTF-8编码,一个汉字占3个字节。为什么要涌现三个字节的编码呢?两个字节最多编码65535个字符,咱们前面说了,光汉字就有10万个,还有其余国度的文字,这两个字节完整不够用啊。