位(bit) 就是0和1,是计算机的专业术语,是数据存储的最小单位,计算机采用2进制系统来存储和处理数据,每个0或1都是一个位(bit),如二进制数0101就是4位,也叫4比特(bit)。
字节(Byte)1个字节等于8位二进制数,是一个二进制数字序列,在计算机中作为一个数字单元, 是用来计算存储容量和传输容量的一种计量单位。
1个字节等于8位2进制数,8位2进制数共能组合出28个不同的序列,也就是256个不同的二进制数字序列。
比较通用的的ASCII码是使用一个字节来表达一个信息的:ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:
0~31及127(共33个)是控制字符或通讯专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为 8、9、10 和 13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
32~126(共95个)是字符(32sp是空格),其中48~57为0到9十个阿拉伯数字;
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
128个称为扩展ASCII码,目前许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展 ASCII 码允许将每个字符的第 8 位用于确定附加的 128 个特殊符号字符、外来语字母和图形符号。
当然这只是一种编码方式,还有很多其他的编码方式并不是使用一个字节来表达的,像UNICODE码,就是使用好几个字节来进行编码的,所以他所能包含的信息量比较大,可以对汉字等非英语文字编码。
图像和视频,根据其后缀名不通也有不同的编码方式,存到硬盘上的都是01代码,须由专用的,支持对应编码方式的程序读取代码,根据编码方式对代码进行还原,形成多媒体信息。
字符(char) 1个字符等于2个字节,计算机刚开始只支持英语,其他语言不能够在计算机上存储和显示。为了使计算机支持更多语言(例如汉语)就必须设计出一个比字节(Byte)更大的单位,比如计算机想要支持汉语就不能以字节为单位,因为一个字节最多只能表示256种变化,而汉字仅常用字就多达7000多个,总数更是高达90000多个,这还是不包含中文标点符号等特殊字符,所以字节的256种变化就明显不够用了,所以新的存储单位“字符”就应运而生了。一个字符包含两个字节,也就是16位,最多能组合出65536种变化来,虽然还不能包括所有汉字,但常用的汉字就完全能够包括了。
与字符一起产生的就是“字符编码”了,因为许多语言都使用字符来表示,所以难免会发生重复,比如:汉字“中”在中文操作系统中使用[0xD6,0xD0]来表示的,但别的语言也难免会用到这样的组合,所以在解析时你就必须告诉程序或者系统你是要用什么编码方式解析字符,只有你告诉了程序或系统编码方式为GBK,gb2312或gb18030,程序或系统才能把字符按照汉字来解析,否则就会出现乱码了。
CPU位数指的是CPU一次能处理的最大位数。例如32位计算机的CPU一个机器周期内可以处理32位数据(就是32个0和1)。