美文网首页
字符串编码

字符串编码

作者: Im渣渣 | 来源:发表于2017-10-26 10:26 被阅读0次

    1.计算机只能处理数字,文本转换为数字才能处理。计算机中8个bit作为一个字节,所以一个字节能表示最大的数字就是255
    2.计算机是美国人发明的,所以一个字节可以表示所有字符了,所以ASCII(一个字节)编码就成为美国人的标准编码
    3.但是ASCII处理中文明显是不够的,中文不止255个汉字,所以中国制定了GB2312编码,用两个字节表示一个汉字。GB2312还把ASCII包含进去了,同理,日文,韩文等等上百个国家为了解决这个问题就都发展了一套字节的编码,标准就越来越多,如果出现多种语言混合显示就一定会出现乱码
    4.unicode出现了,将所有语言同意到一套编码里
    5.看一下ASCII(一个字节)和unicode(两个字节)编码:
    1)字母A用ASCII编码十进制是65,二进制是0100 0001
    2)汉字“中”已近超出了ASCII编码的范围,用unicode编码是20013,二进制是0100 1110 0010 1101
    3)A用unicode编码只需要前面补0,二进制是0000 0000 0100 0001
    6.乱码问题解决了,但是如果内容全是英文,unicode编码比ASCII需要多一倍的存储空间,同时如果传输需要多一倍的传输。
    7.所以出现了可变长的编码“utf-8”,把英文变长一个字节,汉字3个字节。所以生僻的变成4-6字节,如果传输大量的英文,utf-8作用就很明显了。

    Paste_Image.png

    实例:python2和python3的区别:python2默认ascii编码,python3默认unicode编码

    相关文章

      网友评论

          本文标题:字符串编码

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