IO流1.bit(位)byte(字节)word(字)以及字符编码联系与区别

一、bit(位)

  • 计算机系统中最小的单位,
  • 只有0和1两个二进制数据,
  • 一个0或者1,就是1bit,可以简写为1b

二、byte(字节)

  • 计算机系统最常用的单位,
  • 1byte = 8bit,可以简写为1B
  • 家用的200M带宽,其实是200Mb,也就是25MB

三、word(字)

  • CPU在一次操作中处理的数据,称为字,这个字的长度,被称为字长
  • 例如:64位CPU一次可以处理64bit的数据,也就是8byte,其中数据就是字,位数就是字长
  • 不同位数的CPU,字长是不一样的
  • 32位的CPU,字长就是32

四、字符

  • 各种文字和符号统称为字符
  • 同一个字符,使用不同编码,占用空间大小不同,表示的值也不同

五、字符集

  • 一类字符的集合
  • 例如Unicode字符集,GBK字符集

六、字符编码

  • 计算机存储的数据,全部使用2进制数字表示,
  • 如果要表示字符,就需要一些编码规则,
  • 例如:97表示'a',65表示'A',
  • 因为各个地区对字符的使用是不一样的,所以会有很多种编码规则
1. ASCII码(American Standard Code For Informatica Interchange美国信息交换标准代码)
  • 主要用于显示英文
  • 单字节编码,一个字符占用1一个字节
  • 例如:97表示'a',65表示'A',48表示'0'
  • 表示英文是足够的,但是表示其他语言,128个字符是无法满足的
2. Unicode编码
  • 一个字符集,包含了很多字符和二进制编码的对应关系
  • 可以维护世界上所有的语言的字符和编码的对应关系
  • 如果有新的字符,那么继续扩展字符集
  • 在java中,一个Unicode字符占用两个字节,并且兼容ASIIC码
3.UTF-8编码(8-bit Unicode Transformation Format)
  • 一种Unicode编码的实现,并且被广泛使用
  • 占用空间大小是可变的,使用1-4个字节表示一个字符
  • 通过特殊的算法和Unicode编码转换
4. UTF-8和Unicode编码对应关系
Unicode编码(16进制) UTF-8编码(二进制)
0000 0000 ~ 0000 007F 0*** ****
0000 0080 ~ 0000 07FF 110* **** 10** *****
0000 0800 ~ 0000 FFFF 1110 **** 10** **** 10** ****

你可能感兴趣的:(IO流1.bit(位)byte(字节)word(字)以及字符编码联系与区别)