【前言】
关于字节,讲课的时候漏掉了,,,
学计算机的同学应该很清楚相关的知识,不过我还是要在这里记录下,免得以后再漏掉
【详解】
咱们先从最基础开始讲,单位由小到大
(1)Bit-------------------位/比特
计算机所处理的数据信息,都是以二进制数编码表示的。其二进制数"0"和"1"是构成信息的最小单位,称作"位"或"比特(bit)"。所以说起比特,我们应该首先想到0和1二进制数编码
(2)Byte------------------字节
在计算机中,由若干个位组成一个"字节"(byte)。字节由多少个位组成,取决于计算机的自身结构。通常,微型计算机的CPU多用8位组成一个字节,用以表示一个字符的代码,构成一个字节的8个位被看作一个整体。字节(Byte)是存储信息的基本单位 。
(3)KB-------------------千字节
(4)MB------------------兆字节
(5)GB------------------吉字节
(6)TB------------------太字节
【重点】
(1)区分基本单位
①二进制数"0"和"1"是构成信息的最小单位
②字节(Byte)是存储信息的基本单位,数据存储是以10进制表示,数据传输是以2进制表示的
这点大多数经常容易记混。
(2)顺序
Bit-----------B(Byte)------KB----------MB-----------GB------------TB
位/比特-------字节---------千字节-----兆字节-------吉字节-------太字节
(3)转换
1Byte=8Bits
1KB=1024Byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
(4)存储于传输
数据存储是以10进制表示,数据传输是以2进制表示的
(5)字符与编码
①ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。
②UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节
③Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节
(6)区分字符个数和字节数
在纯ASCII码下,字节数=字符串长度=字符个数,因为每个字符就一个字节。
在Unicode下,字节数/2=字符串长度=字符个数,因为每个字符都是2个字节。
在ASCII码与其它双字节字符系统混用时,字节数=ASCII码字符个数+双字节字符个数*2,而此时字符串长度到底怎么统计就不好说了,有的语言如C语言,此时字符串长度=字节数,有的语言如JS,此时字符产长度=字符个数。
其他具体知识点我在文章HTML字符集 ,关于进制和Unicode编码详解 里做过总结
.