位(bit)、字节(byte)、字符和编码


  1. 数据存储的最小单位,每个二进制数字0或者1就是1个位
  2. 字节
    8位为一个字节,即:1byte=8bit
    KB、MB、GB、TB 倍数为1024
  3. 字符
    a、A、你...都为一个字符
    在utf-8编码下,一个汉字占用3个字节
    在gbk编码下,一个汉字占用2个字节
  4. 字符集,顾名思义,字符的集合
  5. 编码
    规定每个字符用多少字节以及用那些字节来存储-------编码
    过程:字符-----二进制数-----解码-----字符
    • 标准ASCII字符集
      使用7位二进制数对一个字符进行编码
      96个打印字符和32个控制字符(128)
    • 扩展ASCII字符集
      将标准ASCII最高位换成1得到十进制代码128-255,共有256个字符
    • gb2312
      所有汉字字符在计算机内部 采用2个字节来表示,每个字节最高位规定为1,不支持繁体,
    • gbk
      gb2312的扩充,兼容gb2312,还收录了其他不常见的汉字和繁体字。
      gbk中字符是一个或者两个字节,单字符区间和ASCII是一样的,双字节字符的第一个字节是在81-FE之间,通过这个可以判断单字节还是双字节。
    • unicode
      容纳世界上所有语言字符和符号的集合(以及对应的二进制数字)
      Unicode只是一个编码规范,目前主要实现Unicode编码的只有三种,uft-8、ucs-2和utf-16,三种字符集之间可以根据规范进行转换。
      • utf-8(8-bit Unicode Transformation Format)
      1. 单字节的字符,字节的第一位设为0,对于英语文本,UTF-8码只占用一个字节,和ASCII码完全相同;
      2. n个字节的字符(n>1),第一字节的前n位设为1,第n+1位设为0,后面字节的前两位都设为10;
      3. 2个字节,第一个字节的前2位是1;3个字节,第一个字节的前三位是1; 4个字节,第一个字节的前4位都是1;

你可能感兴趣的:(位(bit)、字节(byte)、字符和编码)