美文网首页
unicode和UTF-8的区别

unicode和UTF-8的区别

作者: shenyoujian | 来源:发表于2018-06-03 19:59 被阅读3次
    1、unicode是编码字符集,而UTF-8是字符集编码
    
    2、字符集为每一个【字符】分配一个唯一的ID(学名为 码位/ 码点/ Code Point)
    
    3、比如"知"的唯一ID(unicode)是30693,记作 U+77E5(30693的十六进制为0X77E5),如果要把这个汉保存到计算机中,机器码是多少?
    
    4、计算机内部存储的形式是0101的二进制数字串,汉保存在计算机肯定也是0101的数字串,"知"的unicode为U+77E5,
    
    转换为二进制为111 0111 1110 0101,但是"知"保存到计算机中并不是111 0111 1110 0101
    
    5、保存到计算机中,要取决于那种字符集编码,如果用utf8,那么"知"字在计算机保存的值为0xE79FA5,也就是11100111 10011111 10100101
    
    6、那么上面这个是怎么来的?UTF-8顾名思义是一套以8位一个编码单位的可变长编码,会将一个码位编码为 1 到 4 个字节
    
    U+ 0000 ~ U+ 007F: 0XXXXXXX
    U+ 0080 ~ U+ 07FF: 110XXXXX 10XXXXXX
    U+ 0800 ~ U+ FFFF: 1110XXXX 10XXXXXX 10XXXXXX
    U+10000 ~ U+1FFFF: 11110XXX 10XXXXXX 10XXXXXX 10XXXXXX
    
    根据上表中的编码规则,"知"的码位U+77E5属于第三行的范围:
    
               7       7       E       5
            0111    0111    1110    0101        二进制的 77E5
     --------------------------------------
            0111    011111    100101
        1110XXXX  10XXXXXX  10XXXXXX
           E   A     9   F     A   5
    
    U+77E5 按照 UTF-8 编码为字节序列 E79FA5 的过程,反之亦然。  
    

    相关文章

      网友评论

          本文标题:unicode和UTF-8的区别

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