20200503-python-字符编码

0000 0001  8位(bit)一个字节(byte),1024byte=1kB

编码:

  电脑传输:二进制

  美国:ASCII码,一个字节表示(表示所有英文,特殊字符,数字等);

    为了解决编码全球化创建了万国码:unicode

      unicode-个中文(英文)用4个字节表示;

      升级版:utf-8:一个中文用3个字节表示,一个英文1个字节;

      GBK:中国自己创建的:一个中文2个字节表示,一个英文一个字节表示

  各个编码之间的二进制,不能互相识别,会产生乱码

  文件的储存和传输,不能是unicode??(占用空间太多),只能是(utf-8,utf-16,gbk,gb2312,ASCII等)

  

  python3:

      str 在内存中使用unicode存储,

        bytes类型:

          对于英文:

              str:表现形式:s="abc"

                      编码形式:10101010  unicode

                         bytes:表现形式:s=b‘abc’

                 编码形式:10101010    utf-8   gbk....

          对于中文:

              str:表现形式:s="中国"

                      编码形式:10101010  unicode

                         bytes:表现形式:s=b‘x\e91\e91\x90\e01\e02\e03’

                 编码形式:10101010    utf-8   gbk....

      #encode编码 ,如何将str类型转换为bytes类型?

              s1="abc"

              s2=s1.encode('utf-8')

 

 

posted @ 2020-05-03 17:01  DCSun  阅读(130)  评论(0)    收藏  举报