美文网首页
文字编码

文字编码

作者: suntwo | 来源:发表于2019-05-04 16:01 被阅读0次

    ascii

    • ascii使用一个字节表示,使用7个bit位,可以表示128个字符,最高位使用0.
    eg:
    01111111
    00010100
    01010100
    
    • ascii仅仅能表示128个字符,因此后来又提出了unicode编码。

    unicode

    • unicode编码使用三个字节表示,这张表中包含了所有的字符,理论上可以表示2的24次方个字符。
    • 但是unicode编码也是有问题的,我们通常使用的都是ascii包含的128个字符,但是使用unicode编码,却使用三个字节,这大大浪费了存储空间。

    utf-8

    • utf-8是可变编码,可以使用一到六个字节表示,为了区别于ascii,表示为:
    U-00000000 – U-0000007F:  0xxxxxxx
    U-00000080 – U-000007FF:  110xxxxx 10xxxxxx
    U-00000800 – U-0000FFFF:  1110xxxx 10xxxxxx 10xxxxxx
    U-00010000 – U-001FFFFF:  11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
    U-00200000 – U-03FFFFFF:  111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
    U-04000000 – U-7FFFFFFF:  1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
    

    计算机内部的编码方式

    • 计算机硬盘上通常使用uft-8编码来保存数据,但是当加载到内存上时,便会将utf-8编码转换为unicode编码存储在内存中,在内存内便是unicode编码。
    • 比如当我们打开一个文件时,操作系统封将文件的内容加载到内存中,将在硬盘中的utf-8编码转换成unicode编码,当我我们编辑完成时,操作系统再将内容写入硬盘,将unicode转换成utf-8编码(在硬盘上位utf-8是因为节省空间,在内存中为unicode是因为每个字符都是三个字节处理)。

    相关文章

      网友评论

          本文标题:文字编码

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