ASCII : 字母, 数字, 特殊字符

              字符:1个字节

              数字: 1个字节

Unicode: 万国码, 包含所有文字

             创建之初

               字符: 2个字节

               中文: 2个字节

             升级:

                字符: 4个字节

                中文 : 4个字节

             容易浪费资源

utf-8

               字符: 一个字节

                欧文: 2个字节

                中文: 3个字节

gb2312 : 国标: 字母, 数字, 特殊字符

                字符: 1个字节

                中: 2个字节

1. 编码之间不能相互识别

2. 网络传输,或者硬盘储存的010101,必须是非Unicode

在python3 中

           str:内存(内部)编码方式为Unicode

           bytes: python基础数据类型, 他和str孪生兄弟

           int

           dict  

           set

          str   和   bytes 区别:

                   英文字母:

                              str:

                                     表现形式: s1 = 'alex' 

                                     内部编码: Unicode

                               bytes:

                                      表现形式:  s1 = b'alex'

                                      内部编码: 非unicode

                       中文字符:

                               str:

                                      表现形式: s1 = '太白'

                                      内部编码: Unicode

                                bytes:

                                       表现形式:s1='\xe5\xa4\xaa\xe7\x99\xbd'

                                       内部编码: 非Unicode 

                      使用场景:

                                   当你想将一部分内容(字符串)写入文件, 或者通过网络socket传输时,必须表现为bytes类型

      

下面是python中的编码和解码

s1 = '太白‘

b1 = s1.encode('utf-8')   #把s1 转码成utf-8 进行文件传输

s2 = b1.decode('utf-8')  # 把b1解码为Unicode 方便阅读

 

posted on 2018-08-09 15:27  python我的最爱  阅读(218)  评论(0编辑  收藏  举报