美文网首页Java IO
IO流1.bit(位)byte(字节)word(字)以及字符编码

IO流1.bit(位)byte(字节)word(字)以及字符编码

作者: ygxing | 来源:发表于2019-06-11 10:28 被阅读0次

    一、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(字)以及字符编码

        本文链接:https://www.haomeiwen.com/subject/assffctx.html